nag/gearmanager

Small library for handling and managing gearman workers client

dev-master 2014-03-30 14:30 UTC

This package is not auto-updated.

Last update: 2025-07-15 10:15:56 UTC


README

Version 1.0.0 [first release]

Use

Use the file src/Nag/Gearmanager.php

Extend Gearmanager class with config and tasks array.

The config will have to be as follows:

$config = array (
    'host' => '127.0.0.1',
    'port' => 4730
);

And the tasks as:

$tasks = array (
    'Task\Sendemail', 'Task\Sendsms'. ... ... ...
);

Fire worker tasks

Based on the priority required for application the following functions can be used

  • fireEvent()
  • fireParallel()
  • fireUrgent()

fireEvent() and fireParallel() arguments:

  • string $task [fully qualified task class name]
  • array $payload
  • string $priority [values: normal, low, high; default value is 'normal']

fireUrgent() arguments:

  • string $task [fully qualified task class name]
  • array $payload
  • string $priority [values: low, high; default value is 'low']

It returns string $response

Example

use Nag\Gearmanager;

$config = array (
    'host' => '127.0.0.1',
    'port' => 4730
);

$tasks = array (
    'Task\Sendemail'
);

$gearmanager = new Gearmanager($config, $tasks);

$gearmanager->fireEvent('Task\Sendemail', array('to' => 'john@doe.com', 'msg' => 'Hello!'), 'normal');

$gearmanager->fireParallel('Task\Sendemail', array('to' => 'john@doe.com', 'msg' => 'Hello!'), 'low');

$response = $gearmanager->fireUrgent('Task\Sendemail', array('to' => 'john@doe.com', 'msg' => 'Hello!'), 'high');