0

setCompleteCallback が機能していないようです。私が間違っているのは何ですか?ありがとう。

    <?php
    # Create our client object.
    $client = new GearmanClient();

    # Add default server (localhost).
    $client->addServer("127.0.0.1", 4730);

    echo "Sending job\n";

    $client->addTask("reverse", "Hello!", null, "1");
    $client->addTask("reverse", "Hello!", null, "2");
    $client->setCompleteCallback("complete");
    $client->runTasks();

    function complete($task)
    {
        print "Выполнено: " . $task->unique() . ", " . $task->data() . "\n";
    }

    ?>

編集:

<?php
$worker = new GearmanWorker();
$worker->addServer("127.0.0.1", 4730);
$worker->addFunction("reverse", "reverse_fn");
while (1) {
    $ret = $worker->work();
    if ($worker->returnCode() != GEARMAN_SUCCESS)
        break;
}
function reverse_fn($job)
{
    $workload = $job->workload();
    sleep(5);
    $result = strrev($workload);
    $job->sendComplete($result);
    return $result;
}
?>

これは私の労働者です。まだ動作しません。多分私は何か他のものが必要ですか?

4

2 に答える 2