函数名:GearmanTask::function()
适用版本:Gearman PECL 扩展版本 >= 0.6.0
用法: GearmanTask::function() 用于设置 Gearman 任务的回调函数。
语法: bool GearmanTask::function ( callable $function )
参数:
- $function: 回调函数,用于执行 Gearman 任务的处理逻辑。该回调函数接受一个 GearmanTask 对象作为参数。
返回值: 如果设置成功,则返回 true,否则返回 false。
示例:
// 创建 Gearman 任务
$task = new GearmanTask();
// 设置任务的回调函数
$task->function('my_task_function');
// 注册 Gearman 服务器
$gmClient = new GearmanClient();
$gmClient->addServer('127.0.0.1', 4730);
// 提交任务到 Gearman 服务器
$gmClient->addTask($task);
// 执行任务
$gmClient->runTasks();
// 回调函数,用于处理任务
function my_task_function(GearmanTask $task) {
// 从任务中获取数据
$data = $task->data();
// 处理任务逻辑
// ...
// 设置任务的结果
$task->setResult('Processed successfully');
}
在上面的示例中,首先创建了一个 Gearman 任务对象 $task
,然后使用 GearmanTask::function()
方法将回调函数 my_task_function()
设置为任务的处理函数。然后,创建一个 Gearman 客户端对象 $gmClient
,并将任务对象添加到客户端中。最后,通过调用 $gmClient->runTasks()
方法来执行任务。在回调函数 my_task_function()
中,可以通过 $task->data()
获取任务的数据,并在处理完任务逻辑后,使用 $task->setResult()
设置任务的结果。