(PECL gearman >= 0.5.0)
GearmanWorker::addFunction — 註冊並新增回呼函式
$function_name
,$function
,$context
= null
,$timeout
= 0向工作伺服器註冊一個函式名稱,並指定與該函式對應的回呼。也可以選擇指定額外的應用程式上下文資料,以便在呼叫回呼時使用,以及逾時時間。
函式名稱
要向作業伺服器註冊的函式名稱。
函式
當提交已註冊函式名稱的作業時,會呼叫的回呼函式。
上下文
對任意應用程式上下文資料的參考,可以由工作函式修改。
逾時
以秒為單位的時間間隔。
範例 #1 使用額外應用程式上下文資料的簡單工作程式
<?php
# 取得 Gearman 工作程式
$worker= new GearmanWorker();
# 加入預設伺服器 (localhost)
$worker->addServer();
# 定義一個變數來存放應用程式資料
$count= 0;
# 加入 "reverse" 函式
$worker->addFunction("reverse", "reverse_cb", $count);
# 啟動工作程式
while ($worker->work());
function reverse_cb($job, &$count)
{
$count++;
return "$count: " . strrev($job->workload());
}
?>
執行一個提交兩個 `reverse` 函式作業的客戶端,將會產生類似以下的輸出:
1: olleh 2: dlrow