牛牛在线工具

GearmanClient::addTask()

收录 8868 个 PHP 函数,含用途说明与用法示例。

GearmanClient::addTask()

一个任务添加到 Gearman 服务器的队列中

函数名称:GearmanClient::addTask() 适用版本:Gearman PECL 扩展版本 >= 0.5.0 用法: GearmanClient::addTask(string $function_name, string $workload [, mixed &$context [, string $unique [, string $priority]]]) : GearmanTask|bool 说明: addTask() 方法将一个任务添加到 Gearman 服务器的队列中。该方法会返回一个 GearmanTask 对象,或者在失败时返回 false。 参数: $function_name:要执行的任务函数的名称。 $workload:要传递给任务函数的工作负载数据。可以是任何有效的 PHP 数据类型。 $context:可选参数,将作为上下文传递给任务函数。可以是任何有效的 PHP 数据类型。默认值为 null。 $unique:可选参数,用于指定任务的唯一标识符。如果未提供,则由 Gearman 服务器自动生成一个唯一标识符。默认值为 null。 $priority:可选参数,用于指定任务的优先级。可选值为 "high"、"normal" 或 "low"。默认值为 "normal"。 返回值: 如果成功添加任务到队列,则返回一个 GearmanTask 对象。如果添加任务失败,则返回 false。 示例: // 创建 Gearman 客户端对象 $client = new GearmanClient(); // 添加 Gearman 服务器的连接 $client->addServer('127.0.0.1', 4730); // 添加任务到队列 $functionName = 'my_task_function'; $workloadData = 'Hello, Gearman!'; $contextData = ['foo' => 'bar']; $uniqueId = 'my_unique_id'; $priority = 'high'; $task = $client->addTask($functionName, $workloadData, $contextData, $uniqueId, $priority); if ($task) { echo '任务已成功添加到队列。'; // 可以通过 $task 对象获取任务的状态和结果 } else { echo '添加任务到队列失败。'; } 注意事项: 在调用 GearmanClient::runTasks() 方法之前,可以添加多个任务到队列中。 可以使用 GearmanTask 对象来监视和管理任务的状态以及获取任务的结果。 在添加任务之前,必须先通过 GearmanClient::addServer() 方法添加 Gearman 服务器的连接。 为了能够使用 Gearman PECL 扩展,需要在 PHP 中安装 Gearman 扩展并启用。