2024 年 PHP 日本研討會

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallback設定任務排入佇列時的回呼函式

說明

public GearmanClient::setCreatedCallback(callable $callback): bool

設定當 Gearman 工作伺服器接收並將任務排入佇列時要呼叫的回呼函式。

注意事項:

此回呼函式只會針對在此方法呼叫後新增的任務(例如,透過呼叫 GearmanClient::addTask())觸發。

參數

callback

要呼叫的函式或方法。它應該返回一個有效的 Gearman 返回值

如果沒有 return 陳述式,則預設為 GEARMAN_SUCCESS

callback(GearmanTask $task, mixed $context): int
task

此回呼函式所處理的任務。

context

傳遞給 GearmanClient::addTask()(或等效方法)作為 context 的任何值。

返回值

成功時返回 true,失敗時返回 false

參見

新增註解

使用者提供的註解 2 則註解

stanislav dot reshetnev at gmail dot com
10 年前
回呼函式不僅可以接受 GearmanTask 物件,還可以接收來自 GearmanClient::addTask() 的變數。

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

$client->setCreatedCallback(function(GearmanTask $task, $some_info) {
// 現在我們有了 $some_info
// ...
});

$client->addTask($function_name, $workload, "一些資訊");
?>

因此,我們可以向我們的匿名函式發送類似 $workload 的內容,因為我們無法從 GearmanTask 物件中獲取它。這可能對任務排隊的記錄很有用。
Karl Rixon
10 年前
與文件中說明的不同,此回呼函式接受 \GearmanTask 的實例,而不是 \GearmanClient。
To Top