PHPackages                             limitium/zmq - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. limitium/zmq

ActiveLibrary[Queues &amp; Workers](/categories/queues)

limitium/zmq
============

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

292703PHP

Since May 2Pushed 11y ago7 watchersCompare

[ Source](https://github.com/limitium/zmq)[ Packagist](https://packagist.org/packages/limitium/zmq)[ RSS](/packages/limitium-zmq/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

ZMQ
===

[](#zmq)

Brokers for [ZeroMQ](http://zeromq.org/) from [TA:map](https://github.com/limitium/C-CTA-map-frontend/) project used for distributed parsing system.

[![Build Status](https://camo.githubusercontent.com/ed7af3ba0746d86491f71611a5f1a3ad4073107e990982a38e80066d3ef5034c/68747470733a2f2f7472617669732d63692e6f72672f6c696d697469756d2f7a6d712e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/limitium/zmq)[![Dependency Badge](https://camo.githubusercontent.com/d73cb3436ac961c263c6bed8442d2fbd14c18dbffd48466a1c3b814b6ea8469a/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f757365722f70726f6a656374732f3535343337313531643866653161323563633030303038622f62616467652e7376673f7374796c653d666c6174)](https://www.versioneye.com/user/projects/55437151d8fe1a25cc00008b)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/2812bc176b324acf92927460bdd6cabc344770bd0ce0bccb96fe6005cb5feec4/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6c696d697469756d2f7a6d712f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/limitium/zmq/?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/9b0586c1cad7f8f88eaef497a014325305b5af1420c69e49ef12ee5645480128/68747470733a2f2f706f7365722e707567782e6f72672f6c696d697469756d2f7a6d712f762f737461626c65)](https://packagist.org/packages/limitium/zmq)[![Total Downloads](https://camo.githubusercontent.com/6442382aa83149d528a63636b4c2dd2eab26d173ea2fdedb44c7f3320b52e625/68747470733a2f2f706f7365722e707567782e6f72672f6c696d697469756d2f7a6d712f646f776e6c6f616473)](https://packagist.org/packages/limitium/zmq)[![Latest Unstable Version](https://camo.githubusercontent.com/788d7d4232a6c7c44a002c2dcd33e073727ae3ac964f8131ed0481203445a5c6/68747470733a2f2f706f7365722e707567782e6f72672f6c696d697469756d2f7a6d712f762f756e737461626c65)](https://packagist.org/packages/limitium/zmq)[![License](https://camo.githubusercontent.com/a9d1abec05d492a505922741359067898b1a64402c3c1dda27f7bc76b347e520/68747470733a2f2f706f7365722e707567782e6f72672f6c696d697469756d2f7a6d712f6c6963656e7365)](https://packagist.org/packages/limitium/zmq)

Install(debian)
---------------

[](#installdebian)

#### 1. Install ZeroMQ

[](#1-install-zeromq)

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

#### 2. Install php-zmq binding

[](#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

[](#3-require-zmq-via-composer)

```
    composer require limitium/zmq
```

Tests
-----

[](#tests)

```
    phpunit
```

Usage
-----

[](#usage)

### PSR-3 distributed logger

[](#psr-3-distributed-logger)

Can be used in single process, several process on single machine or on several machines.

#### logger

[](#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

[](#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

[](#task-generator)

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

#### Generator

[](#generator)

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

#### Worker

[](#worker)

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

### Publish/Subscribe

[](#publishsubscribe)

#### Publisher

[](#publisher)

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

#### Subscriber

[](#subscriber)

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

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/c11db6060fb6908a4d066b1dfcd4499233cf3a73461b529d2f77010146a65ef8?d=identicon)[limitium](/maintainers/limitium)

---

Top Contributors

[![limitium](https://avatars.githubusercontent.com/u/850285?v=4)](https://github.com/limitium "limitium (56 commits)")[![scrutinizer-auto-fixer](https://avatars.githubusercontent.com/u/6253494?v=4)](https://github.com/scrutinizer-auto-fixer "scrutinizer-auto-fixer (1 commits)")

---

Tags

distributed-computingparallelphpqueueworkerszeromqzmq

### Embed Badge

![Health badge](/badges/limitium-zmq/health.svg)

```
[![Health](https://phpackages.com/badges/limitium-zmq/health.svg)](https://phpackages.com/packages/limitium-zmq)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.5M29](/packages/league-geotools)[illuminate/bus

The Illuminate Bus package.

6145.5M491](/packages/illuminate-bus)[uecode/qpush-bundle

Asynchronous processing for Symfony using Push Queues

1672.5M2](/packages/uecode-qpush-bundle)[prooph/event-store-symfony-bundle

109256.9k10](/packages/prooph-event-store-symfony-bundle)[ezsystems/ezscriptmonitor-ls

eZ Publish extension that aims to avoid timeout problems and database corruption by moving long running processes from the GUI to the background.

13208.2k](/packages/ezsystems-ezscriptmonitor-ls)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
