文字

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallbackSet a callback for when a task is queued

说明

public bool GearmanClient::setCreatedCallback ( string $callback )

Sets a function to be called when a task is received and queued by the Gearman job server. The callback should accept a single argument, a GearmanClient oject.

参数

callback

A function to call

返回值

成功时返回 TRUE , 或者在失败时返回 FALSE

参见

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates

用户评论:

[#1] stanislav dot reshetnev at gmail dot com [2014-10-30 16:07:11]

Callback can accept not only GearmanTask object, but it can recieve a variable from GearmanClient::addTask():

<?php
$client 
= new GearmanClient();
$client->addServer();

$client->setCreatedCallback(function(GearmanTask $task$some_info) {
  
// now we have $some_info
  // ...
});

$client->addTask($function_name$workload"some info");
?>


So, we can send to our anonymous function something like $workload, because we can't get it from GearmanTask object. It may be usefull for logging of tasks queuing.

[#2] Karl Rixon [2014-10-20 14:57:40]

Contrary to the documentation, this callback accepts an instance of \GearmanTask, not \GearmanClient.

上一篇: 下一篇: