I'm trying to queue tasks on Gearman by using PHP 5.5.
I've tried this code:
<?php
$gmclient= new GearmanClient();
$gmclient->addServer('localhost');
echo "Sending job
";
$gmclient->setCompleteCallback('gm_complete');
$gmclient->setDataCallback('gm_data');
$gmclient->setStatusCallback('gm_status');
$gmclient->runTasks();
function gm_data(GearmanTask $task) {
echo "Data: {$task->data()}".PHP_EOL;
}
function gm_complete(GearmanTask $task) {
echo "Success: {$task->data()}".PHP_EOL;
}
function gm_status(GearmanTask $task) {
echo "Status: {$task->taskNumerator()} / {$task->taskDenominator()}".PHP_EOL;
}
?>
And also this simpler one:
<?php
$client= new GearmanClient();
$client->addServer();
print $client->do("reverse", "Hello World!");
?>
They both seem to hang in a endless loop. I'm using php5-gearman on Ubuntu and I'm launching gearman with the gearmand
command in terminal.
I've tried both gearman-server
in the repos and the last version (1.1.12).
gearadmin --status
reports it has received the tasks though:
# gearadmin --status
reverse 1 0 0
.
... still the application doesn't return any output and doesn't even exit. It just hangs as if it was waiting for some input.
Any ideas?
Thanks