ROH is a distributed Python tasks manager.
Note: This is a working in progress project!
Run:
make run
How it works:
Suppose a cluster:
([email protected])1> [node()|nodes()].
['[email protected]','[email protected]']
you can execute your python script across the cluster, for example a RabbitMQ implementation:
([email protected])2> impl_rabbitmq_consumers:add_cluster_consumer(5672).
Check the status:
([email protected])3> roh_management:status().
[{'[email protected]',{[<<"<0.488.0> {task,115433358,test,start,[],test,stop,[],undefined,undefined}">>,
<<"<0.490.0> {task,73573331,test,start,[],test,stop,[],undefined,undefined}">>],
[<<" {task,43014671,test,start,[],test,stop,[],undefined,undefined}">>,
<<" {task,43796038,test,start,[],test,stop,[],undefined,undefined}">>]}}]
The script is running across the cluster !!
You can check the status using the web interface:
http://localhost:8080/api/management
result:
[
{
node:"[email protected]",
running_tasks:[
"<0.488.0> {task,115433358,test,start,[],test,stop,[],undefined,undefined}",
"<0.490.0> {task,73573331,test,start,[],test,stop,[],undefined,undefined}"
],
waiting_tasks:[
" {task,43014671,test,start,[],test,stop,[],undefined,undefined}",
" {task,43796038,test,start,[],test,stop,[],undefined,undefined}"
]
}
]
#Build from source
gmake