コード例 #1
0
ファイル: BuilderTest.php プロジェクト: gonzalo123/gearman
 public function test_Tasks()
 {
     $tasks = Builder::createTasks();
     $this->assertInstanceOf('G\\Gearman\\Tasks', $tasks);
 }
コード例 #2
0
ファイル: runTasks.php プロジェクト: gonzalo123/gearman
<?php

include __DIR__ . '/../vendor/autoload.php';
use G\Gearman\Builder;
$tasks = Builder::createTasks();
$tasks->onSuccess(function (\GearmanTask $task, $context) {
    $out = is_callable($context) ? $context($task) : $task->data();
    echo "onSuccess response: " . $out . " id: {$task->unique()}\n";
});
$tasks->onException(function (\GearmanTask $task) {
    echo "onException response {$task->data()}\n";
});
$responseParser = function (\GearmanTask $task) {
    return "Hello " . $task->data();
};
$tasks->addTask('fast.process', "fast1", $responseParser, 'g1');
$tasks->addTaskHigh('slow.process', "slow1", null, 'xxxx');
$tasks->addTask('fast.process', "fast2");
$tasks->addTask('exception.process', 'hi');
$tasks->runTasks();
コード例 #3
0
ファイル: runFastClient.php プロジェクト: gonzalo123/gearman
<?php

include __DIR__ . '/../vendor/autoload.php';
use G\Gearman\Builder;
$client = Builder::createClient();
$client->onSuccess(function ($response) {
    echo $response;
});
$client->doNormal('fast.process', "Hello");
コード例 #4
0
ファイル: worker.php プロジェクト: gonzalo123/gearman
<?php

include __DIR__ . '/../vendor/autoload.php';
use G\Gearman\Builder;
$worker = Builder::createWorker();
$worker->on("slow.process", function ($response, \GearmanJob $job) {
    echo "Response: {$response} unique: {$job->unique()}\n";
    sleep(2);
    return $job->unique();
});
$worker->on("fast.process", function ($response, \GearmanJob $job) {
    echo "Response: {$response} unique: {$job->unique()}\n";
    return $job->unique();
});
$worker->on("exception.process", function () {
    throw new \Exception("Something wrong happens");
});
$worker->run();