public function initCallbacks() { $this->client->setStatusCallback([$this, 'handleStatus']); $this->client->setDataCallback([$this, 'handleData']); $this->client->setCompleteCallback([$this, 'handleComplete']); $this->client->setFailCallback([$this, 'handleFail']); $this->client->setWarningCallback([$this, 'handleWarning']); return null; }
/** * Assign all GearmanClient callbacks as Symfony2 events * * @param \GearmanClient $gearmanClient Gearman client * * @return GearmanCallbacksDispatcher self Object */ public function assignTaskCallbacks(\GearmanClient $gearmanClient) { $gearmanClient->setCompleteCallback(array($this, 'assignCompleteCallback')); $gearmanClient->setFailCallback(array($this, 'assignFailCallback')); $gearmanClient->setDataCallback(array($this, 'assignDataCallback')); $gearmanClient->setCreatedCallback(array($this, 'assignCreatedCallback')); $gearmanClient->setExceptionCallback(array($this, 'assignExceptionCallback')); $gearmanClient->setStatusCallback(array($this, 'assignStatusCallback')); $gearmanClient->setWarningCallback(array($this, 'assignWarningCallback')); $gearmanClient->setWorkloadCallback(array($this, 'assignWorkloadCallback')); }
/** * Constructor method checks for gearman * * @throws Kohana_Request_Exception */ public function __construct() { if (!extension_loaded('gearman')) { throw new Kohana_Request_Exception('Unable to load PHP Gearman. Check your local environment.'); } // Create a new Gearman client and add a server $this->_gearman_client = new GearmanClient(); /** * @todo support multiple Gearman servers * @todo support customisable servers */ if (!$this->_gearman_client->addServer()) { throw new Kohana_Request_Exception('Unable to attach to Gearman server'); } // Setup callback functions for Gearman tasks $this->_gearman_client->setDataCallback(array($this, '_task_data')); $this->_gearman_client->setFailCallback(array($this, '_task_failed')); $this->_gearman_client->setCompleteCallback(array($this, '_task_complete')); $this->_gearman_client->setExceptionCallback(array($this, '_task_exception')); }