PHPackages                             contrictor/php-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. contrictor/php-gearman

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

contrictor/php-gearman
======================

Gearman job server workers helper forked from https://github.com/pauloborgesccb/php-gearman

1.1.7(8y ago)14471GPL-3.0-or-laterPHPPHP &gt;=5.6.0

Since May 17Pushed 8y ago1 watchersCompare

[ Source](https://github.com/pauloborgesccb/php-gearman)[ Packagist](https://packagist.org/packages/contrictor/php-gearman)[ Docs](https://github.com/pauloborgesccb/php-gearmann#readme)[ RSS](/packages/contrictor-php-gearman/feed)WikiDiscussions master Synced today

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

php-gearman-job-server
======================

[](#php-gearman-job-server)

Gearman job server workers helper

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

[](#installation)

- Run:

```
composer require "contrictor/php-gearman" "~1.0"

```

- Install gearman job server as PHP-extension: [http://gearman.org/getting-started/#gearman\_php\_extension](http://gearman.org/getting-started/#gearman_php_extension)
- Install supervisor:

```
apt-get install supervisor
```

- (optional) Install Gearman GUI:

Configuration
-------------

[](#configuration)

### Yii1/Yii2:

[](#yii1yii2)

supervisor.php at you common config dir:

```
return [
    'configFile' => '/etc/supervisor/conf.d/workers.conf',
    'workersDirectory' => realpath(__DIR__ . '/../../'),
    'restartSleepingTime' => 5,
    'all' => [
        'crop_image' => ['numprocs' => 0, 'command' => '/usr/bin/php yii workers/crop-image'],
        'bad_worker' => ['numprocs' => 0, 'command' => '/usr/bin/php yii workers/bad-worker'],
    ],
    'sets' => [
        'general' => [
            'crop_image' => 5,
        ],
        'minimal' => [
            'crop_image' => 50,
            'bad_worker' => 50,
        ],
        'maximal' => [
            'crop_image' => 100,
            'bad_worker' => 100,
        ],
    ],
];
```

Gearman component configuration
-------------------------------

[](#gearman-component-configuration)

### Yii2

[](#yii2)

/common/config/main.php:

```
'components' => [
    'gearman' => [
        'class' => '\contrictor\gearman\yii2\Component',
        'host' => '127.0.0.1',
        'port' => 4730,
        'supervisorConfig' => require(__DIR__ . '/supervisor.php'),
    ],
],
```

/console/config/main.php:

```
return [
    'controllerMap' => [
        'gearman' => [
            'class' => '\contrictor\gearman\yii2\SupervisorController',
            'gearmanComponentName' => 'gearman', // name of component: Yii::$app->gearman (from previous config listing)
        ],
    ],
],
```

### Yii1

[](#yii1)

/protected/config/main.php:

```
'components' => [
    'gearman' => [
        'class' => '\contrictor\gearman\yii1\GearmanComponent',
        'host' => '127.0.0.1',
        'port' => 4730,
        'supervisorConfig' => require(__DIR__ . '/supervisor.php'),
    ],
],
```

/protected/config/console.php:

```
$mainConfig = require(dirname(__FILE__) . '/main.php');
return [
    'commandMap' => [
        'gearman' => [
            'class' => '\contrictor\gearman\yii1\SupervisorCommand',
            'gearmanComponentName' => 'gearman', // name of component: Yii::app()->gearman (from previous config listing)
        ],
    ],
    'components' => [
        'gearman' => $mainConfig['components']['gearman'],
    ],
],
```

### Laravel:

[](#laravel)

Add service provider to /config/app.php:

```
'providers' => [
    // Gearman helper
    contrictor\gearman\laravel5\GearmanServiceProvider::class
],
'aliases' => [
    // Gearman helper
    'Gearman' => contrictor\gearman\laravel5\GearmanFacade::class,
],
```

Publish /config/gearman.php

```
php artisan vendor:publish --provider="contrictor\gearman\laravel5\GearmanServiceProvider" --tag=config
```

Usage
-----

[](#usage)

### Running workers:

[](#running-workers)

Gearman workers - it is simple looped console commands

##### Yii2:

[](#yii2-1)

Create new console controller
/console/controllers/WorkersController.php:

```
