# River-Net **Repository Path**: lanicon_admin/River-Net ## Basic Information - **Project Name**: River-Net - **Description**: A peformant distributed .NET service for scheduling Elasticsearch ETLs. It uses Quartz.Net for scheduling and runs in IIS (for the time being). -- Deprecated, functionality moved to scurry job framework, see https://github.com/CompassPHS/scurrynet and https://github.com/CompassPHS/scurrynet-riverjob. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-29 - **Last Updated**: 2021-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README River-Net ========= A peformant distributed .NET service for scheduling Elasticsearch ETLs. It uses Quartz.Net for scheduling and runs in IIS (for the time being). ##Documentation * [Setup](#setup) * [API](#api) * [River Sources](#river_sources) * [Deployment](#deployment) ### Setup Under River.Quartz there is a [quartz.sql](https://github.com/CompassPHS/River-Net/blob/master/River.Quartz/quartz.sql) file. This will create a database called ```RiverNet```, a schema called ```quartz```, and the necessary objects to support [Quartz.NET](https://github.com/quartznet/quartznet ""). The SQL Server instance is specified in the [connectionString](https://github.com/CompassPHS/River-Net/blob/master/River.Api/Web.config#L58) in the quartz section of the web.config under River.Api. ### API Jobs are created through ```PUT``` requests to ```/api/river/{job_name}``` A typical job looks like this: ```javascript { "name":"job_name", "cron":"0 */2 * * *" "suppressNulls":true, "source":{ "type":"database", "connectionString":"Server=server_name;Database=db_name;Connection Timeout=30;Trusted_Connection=True;", "command":"exec river_SomeJob" }, "destination":{ "url":"http://localhost:9200", "index":"index", "type":"type" } } ``` ```"cron"``` is optional. Excluding a cron will run the job immediately and once only. ```"suppressNulls"``` will exclude any fields with the value ```NULL``` from the output document. ### River Sources There are two kinds of sources: Database and FlatFile Here's a Database source: ```javascript { "type":"database", "connectionString":"Server=server_name;Database=db_name;Connection Timeout=30;Trusted_Connection=True;", "command":"exec river_SomeJob" } ``` Here's a FlatFile source: ```javascript { "type":"flatFile", "location":"c:\path\to\file", "delimiters":[','] } ``` ### Deployment This app runs in IIS and is subject to the idle timeout and recycling any other IIS site would have.