Skip to content

jrmbrgs/disturb

 
 

Repository files navigation

DISTURB

Distributed Workflow Processor, based on Phalcon and Kafka


Codacy Badge Codacy Badge Coverage Status Maintainability license

Arch

Arch

Usage

Requirements

Kafka + Zookeeper : https://kafka.apache.org/quickstart

Install \Vpg\Disturb

Add it to your project w/ compposer

    "require": {
        "vpg/disturb": "dev-poc"
    }

Configure Context Storage

Elasticsearch

Initialize index

   ./bin/elasticsearch/initialize.sh YOUR_ELASTICSEARCH_HOST

Define workflow

see example

Code Logic

Code your services (Steps and Manager) logic see example

Run

Run Kafka + Zookeeper

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

Run Manager

vendor/bin/disturb-manager  --workflow="/path/to/disturb/example/Config/parallelized.json"

Run Step

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"

Start a workflow exec

php producer.php '{"contract":"FR-10-BOOOM", "type" : "WF-CONTROL", "action":"start"}' disturb-foo-manager

Debug

Enable verbose debug

$ export DISTURB_DEBUG=true

About

Distributed Workflow Processor

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 98.1%
  • Shell 1.1%
  • JavaScript 0.8%