resc 0.3.1

A Redis based task orchestrator
{
	"redis": {
		"url": "redis://127.0.0.1/"
	},
	"listener_channel": "events",
	"watchers": [
		{
			"input_queue": "global/events",
			"taken_queue": "global/taken",
			"rules": [
				{
					"name": "TRT computation on data acquisition",
					"on": "^acq/(?P<process_id>\\w+)/(?P<product_id>\\d+)$",
					"make": {
						"task": "trt/${process_id}/${product_id}",
						"queue": "trt/${process_id}/todo-queue",
						"set": "trt/${process_id}/todo-set"
					}
				},
				{
					"name": "TRT propagation to children : switch queue",
					"on": "^trt/(?P<process_id>\\w+)/(?P<product_id>\\w{16})$",
					"make": {
						"queue": "global/to-propagate"
					}
				}
			]
		},
		{
			"input_queue": "global/to-propagate",
			"rules": [
				{
					"name": "TRT propagation to children : make child tasks",
					"on": "^trt/(?P<process_id>\\w+)/(?P<product_id>\\w{16})$",
					"fetch": [{
						"url": "http://localhost:8080/eyeron/pub/products/${product_id}/direct-childs",
						"returns": "child"
					}],
					"make": {
						"task": "trt/${child.processId}/${child.productId}",
						"queue": "trt/${child.processId}/todo"
					}
				}
			]
		}
	]
}