Distributed Workflow Processor, based on Phalcon and Kafka
Kafka + Zookeeper : https://kafka.apache.org/quickstart
Add it to your project w/ compposer
"require": {
"vpg/disturb": "dev-poc"
}
Elasticsearch
Initialize index
./bin/elasticsearch/initialize.sh YOUR_ELASTICSEARCH_HOST
Code your services (Steps and Manager) logic
wget ftp://mirrors.ircam.fr/pub/apache/kafka/0.10.1.0/kafka_2.11-0.10.1.0.tgz
tar --extract --gzip --file kafka*
either use standalone zookeeper bin included in kafka or install it cd kafka_* ./bin/zookeeper-server-start.sh config/zookeeper.properties
$ sudo service zookeeper start
$ ./bin/kafka-server-start.sh config/server.properties
vendor/bin/disturb-manager --workflow="/path/to/disturb/example/Config/parallelized.json"
vendor/bin/disturb-step --step="step0" --workflow="/path/to/disturb/example/Config/parallelized.json"
vendor/bin/disturb-step --step="step1" --workflow="/path/to/disturb/example/Config/parallelized.json"
vendor/bin/disturb-step --step="step2" --workflow="/path/to/disturb/example/Config/parallelized.json"
vendor/bin/disturb-step --step="step3" --workflow="/path/to/disturb/example/Config/parallelized.json"
php producer.php '{"contract":"FR-10-BOOOM", "type" : "WF-CONTROL", "action":"start"}' disturb-foo-manager
$ export DISTURB_DEBUG=true