GearmanClient::setCompleteCallback
(PECL gearman >= 0.5.0)
GearmanClient::setCompleteCallback — Set a function to be called on task completion
説明
Use to set a callback function to be called when a GearmanTask is completed, or when GearmanJob::sendComplete() is invoked by a worker (whichever happens first).
This callback executes only when executing a GearmanTask using GearmanClient::runTasks(). It is not used for individual jobs.
注意:
このコールバックは、このメソッドを呼び出した後に追加されたタスク(例: 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::setCreatedCallback() - Set a callback for when a task is queued
- 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 1 note
Justas Butkus ¶
13 years ago
One shall note, that callback function MUST either return a valid Gearman status code, or return nothing (do not return).
I.e. these are valid complete callbacks:
<?php
function goodCallbackOne(GearmanTask $task)
{
print_r($task);
}
?>
<?php
function goodCallbackTwo(GearmanTask $task)
{
print_r($task);
return GEARMAN_SUCCESS;
}
?>
While following is NOT, unless you want your client code to fail with Gearman error 'german wait:no active file descriptors':
<?php
function badCallbackTwo(GearmanTask $task)
{
print_r($task);
return true;
}
?>
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google