2017 © Pedro Peláez
 

library zmq

Brokers for ZeroMQ from TA:map project used for distributed parsing system.

image

limitium/zmq

Brokers for ZeroMQ from TA:map project used for distributed parsing system.

  • Tuesday, May 5, 2015
  • by limitium
  • Repository
  • 8 Watchers
  • 26 Stars
  • 14 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 2 Versions
  • 17 % Grown

The README.md

ZMQ

Brokers for ZeroMQ from TA:map project used for distributed parsing system., (*1)

Build Status Dependency Badge Scrutinizer Code Quality Latest Stable Version Total Downloads Latest Unstable Version License, (*2)

Install(debian)

1. Install ZeroMQ

    sudo apt-get update -qq
    sudo apt-get install -y libzmq3-dev

2. Install php-zmq binding

    git clone https://github.com/mkoppanen/php-zmq.git
    sh -c "cd php-zmq && phpize && ./configure && make --silent && sudo make install"
    echo "extension=zmq.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`

3. Require ZMQ via Composer

    composer require limitium/zmq

Tests

    phpunit

Usage

PSR-3 distributed logger

Can be used in single process, several process on single machine or on several machines., (*3)

logger

    $logger = new ZLogger('my_service_1', 'tcp://127.0.0.1:5555');
    $logger->info("core is stable");
    $logger->emergency("we're all going to die!");

collector

    (new Concentrator('tcp://127.0.0.1:5555'))
        ->setReceiver(function ($logMsg) {
            $serviceName = $logMsg[0];
            $time = $logMsg[1];
            $logLevel = $logMsg[2];
            $logMsg = $logMsg[3];
        })
        ->listen();

Task generator

With workers management (checks workers statuses, checks workers heartbeats etc), (*4)

Generator

    (new Ventilator('tcp://127.0.0.1:5555'))
        ->setGenerator(function () {
            sleep(1);
            return rand();
        })
        ->setResponder(function ($msg) {
            echo $msg;
        })
        ->listen();

Worker

    (new Worker('tcp://127.0.0.1:5555'))
        ->setExecutor(function ($msg) {
            return $msg + $msg;
        })
        ->work();

Publish/Subscribe

Publisher

    $pub = new Publisher('tcp://127.0.0.1:5555');
    $pub->send('azaza');

Subscriber

    (new Subscriber('tcp://127.0.0.1:5555'))
        ->setListener(function ($msg){
            echo $msg;
        })
        ->listen();

The Versions

05/05 2015

dev-master

9999999-dev

Brokers for ZeroMQ from TA:map project used for distributed parsing system.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar limitium

psr-3 queue message zmq 0mq broker

02/05 2015

dev-scrutinizer-patch-1

dev-scrutinizer-patch-1

ZeroMQ based brokers

  Sources   Download

MIT

The Requires

 

The Development Requires

by Avatar limitium

psr-3 queue message zmq 0mq broker