PHPackages                             silverstripe-australia/gearman - 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. silverstripe-australia/gearman

ActiveSilverstripe-module[Queues &amp; Workers](/categories/queues)

silverstripe-australia/gearman
==============================

A simple integration with the gearmand job processor

1.1.0(11y ago)613.2k4[2 issues](https://github.com/nyeholt/silverstripe-gearman/issues)[2 PRs](https://github.com/nyeholt/silverstripe-gearman/pulls)BSD-3-ClausePHP

Since Mar 19Pushed 10y ago2 watchersCompare

[ Source](https://github.com/nyeholt/silverstripe-gearman)[ Packagist](https://packagist.org/packages/silverstripe-australia/gearman)[ RSS](/packages/silverstripe-australia-gearman/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (5)Used By (0)

SilverStripe Gearman module
===========================

[](#silverstripe-gearman-module)

Adds a basic level of support for the gearmand php job queue

Installation
------------

[](#installation)

- Install gearmand
- Change its config to use a persistent queue; something like

```
  PARAMS="--listen=127.0.0.1 -q libsqlite3 --libsqlite3-db /var/run/gearmandb"

```

- This uses the Net\_Gearman library from publero/net\_gearman for communicating with gearman; composer should manage this for you

To test the installation is correct, there's a test job you can execute

- Open two terminal windows in the SS root directory
- In the first, run php gearman/gearman\_runner.php
- In the second, run php gearman/gearman\_test\_client.php
- You should see some information output to the first console window, indicating the job was picked up and processed as expected.

Usage
-----

[](#usage)

- Define a class that implements GearmanHandler
- The 'getName' method should return the name of a method on the class that will handle the processing of the job (exampleMethod)
- Start a worker by calling php gearman/gearman\_runner.php
- Trigger the job by calling `$this->gearmanService->exampleMethod();`
- Any params passed through to exampleMethod are passed on to the worker
- Note: This only supports 'background' jobs at the moment, so there are NO return values

Reflected worker
----------------

[](#reflected-worker)

The 'gearman\_runner' script is bound to a single instance of SilverStripe; this means that any job spawned against the gearman server is handled and executed by that instance of SilverStripe. In situations where you have multiple instances of SS running, you will need to use the `reflected_runner.php` script instead of gearman\_runner.php. This handler will include the path of the SS instance that triggered the gearman job to be executed, and will spawn a separate process to execute that gearman job within

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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.

###  Release Activity

Cadence

Every ~27 days

Total

3

Last Release

4069d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/25cb1c56a7ab949d1e6b28a2a04862ce1cffe1799a291e1797f8dfd33cd83716?d=identicon)[nyeholt](/maintainers/nyeholt)

---

Top Contributors

[![nyeholt](https://avatars.githubusercontent.com/u/161730?v=4)](https://github.com/nyeholt "nyeholt (4 commits)")

---

Tags

silverstripejobsgearmanqueuedjobs

### Embed Badge

![Health badge](/badges/silverstripe-australia-gearman/health.svg)

```
[![Health](https://phpackages.com/badges/silverstripe-australia-gearman/health.svg)](https://phpackages.com/packages/silverstripe-australia-gearman)
```

###  Alternatives

[aimeos/ai-controller-jobs

Aimeos job controllers for long running tasks

1.0k350.0k14](/packages/aimeos-ai-controller-jobs)[symbiote/silverstripe-queuedjobs

A framework for defining and running background jobs in a queued manner

55892.3k102](/packages/symbiote-silverstripe-queuedjobs)[dereuromark/cakephp-queue

The Queue plugin for CakePHP provides deferred task execution.

308954.9k25](/packages/dereuromark-cakephp-queue)[brianlmoon/gearmanmanager

PHP daemon for managing gearman workers

68395.3k1](/packages/brianlmoon-gearmanmanager)[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

274326.6k8](/packages/croustibat-filament-jobs-monitor)[mmoreram/gearman-bundle

Adds gearman support to your and Symfony4, Symfony5 project

240399.6k2](/packages/mmoreram-gearman-bundle)

PHPackages © 2026

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