PHP Conference Japan 2024

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallback设置任务入队时的回调函数

描述

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

设置一个回调函数,当 Gearman 作业服务器接收到并排队任务时调用。

注意:

回调函数仅针对调用此方法后添加的任务(例如,通过调用 GearmanClient::addTask())触发。

参数

callback

要调用的函数或方法。它应该返回一个有效的 Gearman 返回值

如果没有返回语句,则默认为 GEARMAN_SUCCESS

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

为此回调函数调用的任务。

context

作为 context 传递给 GearmanClient::addTask()(或等效方法)的任何内容。

返回值

成功返回 true,失败返回 false

参见

添加注释

用户贡献的注释 2 个注释

0
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, "some info");
?>

因此,我们可以向匿名函数发送类似于 $workload 的内容,因为我们无法从 GearmanTask 对象中获取它。这对于记录任务排队可能很有用。
0
Karl Rixon
10 年前
与文档相反,此回调函数接受 \GearmanTask 的实例,而不是 \GearmanClient。
To Top