GearmanClient::setCreatedCallback
(PECL gearman >= 0.5.0)
GearmanClient::setCreatedCallback — Set a callback for when a task is queued
説明
Sets a callback function to be called when a task is received and queued by the Gearman job server.
注意:
このコールバックは、このメソッドを呼び出した後に追加されたタスク(例: GearmanClient::addTask() を呼び出して追加されたタスク)に対してのみ実行されます。
パラメータ
callback
-
呼び出す関数またはメソッド。有効な Gearmanの値 を返す必要があります。
return 文が存在しない場合、デフォルトで
GEARMAN_SUCCESS
が返されます。task
-
このコールバックが呼び出されるタスク。
context
-
GearmanClient::addTask() (または同等のメソッド) に
context
として渡されたもの。
参考
- 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
+add a note
User Contributed Notes 2 notes
stanislav dot reshetnev at gmail dot com ¶
10 years ago
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.
Karl Rixon ¶
10 years ago
Contrary to the documentation, this callback accepts an instance of \GearmanTask, not \GearmanClient.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google