Skip to content

yonglehou/River-Net

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 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:

{
  "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:

{
  "type":"database",
  "connectionString":"Server=server_name;Database=db_name;Connection Timeout=30;Trusted_Connection=True;",
  "command":"exec river_SomeJob"      
}

Here's a FlatFile source:

{
  "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.

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.7%
  • Classic ASP 0.3%