2023-02-03 04:53:03 -05:00
|
|
|
<?php
|
|
|
|
|
|
|
|
use Tamer\Abstracts\ProtocolType;
|
2023-02-05 17:24:22 -05:00
|
|
|
use Tamer\Objects\JobResults;
|
|
|
|
use Tamer\Objects\Task;
|
2023-02-03 04:53:03 -05:00
|
|
|
use Tamer\Tamer;
|
|
|
|
|
|
|
|
require 'ncc';
|
|
|
|
|
|
|
|
import('net.nosial.tamerlib', 'latest');
|
|
|
|
|
2023-02-05 17:24:22 -05:00
|
|
|
Tamer::init(ProtocolType::Gearman,
|
2023-02-03 04:53:03 -05:00
|
|
|
['127.0.0.1:4730']
|
|
|
|
);
|
|
|
|
|
2023-02-05 17:24:22 -05:00
|
|
|
Tamer::addWorker(__DIR__ . '/tamer_worker.php', 10);
|
|
|
|
Tamer::startWorkers();
|
|
|
|
|
2023-02-03 04:53:03 -05:00
|
|
|
|
2023-02-05 17:24:22 -05:00
|
|
|
// Sleep function (task) loop 10 times
|
|
|
|
for ($i = 0; $i < 10; $i++)
|
2023-02-03 04:53:03 -05:00
|
|
|
{
|
2023-02-05 17:24:22 -05:00
|
|
|
Tamer::queue(Task::create('sleep', 5, function(JobResults $data)
|
|
|
|
{
|
|
|
|
echo "Slept for {$data->getData()} seconds \n";
|
|
|
|
}));
|
|
|
|
}
|
2023-02-03 04:53:03 -05:00
|
|
|
|
2023-02-05 17:24:22 -05:00
|
|
|
echo "Waiting for jobs to finish \n";
|
2023-02-03 04:53:03 -05:00
|
|
|
$a = microtime(true);
|
|
|
|
Tamer::run();
|
|
|
|
$b = microtime(true);
|
|
|
|
echo "Took " . ($b - $a) . " seconds \n";
|