(PECL gearman >= 0.6.0)
GearmanWorker::wait — Wait for activity from one of the job servers
Causes the worker to wait for activity from one of the Gearman job servers when operating
in non-blocking I/O mode. On failure, issues a E_WARNING
with the last Gearman error
encountered.
This function has no parameters.
Example #1 Running worker in non-blocking mode
<?php
echo "Starting\n";
# Create our worker object
$worker= new GearmanWorker();
# Make the worker non-blocking
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING);
# Add the default server (localhost, port 4730)
$worker->addServer();
# Add our reverse function
$worker->addFunction('reverse', 'reverse_fn');
# Try to grab a job
while (@$worker->work() ||
$worker->returnCode() == GEARMAN_IO_WAIT ||
$worker->returnCode() == GEARMAN_NO_JOBS)
{
if ($worker->returnCode() == GEARMAN_SUCCESS)
continue;
echo "Waiting for next job...\n";
if (!@$worker->wait())
{
if ($worker->returnCode() == GEARMAN_NO_ACTIVE_FDS)
{
# We are not connected to any servers, so wait a bit before
# trying to reconnect.
sleep(5);
continue;
}
break;
}
}
echo "Worker Error: " . $worker->error() . "\n";
function reverse_fn($job)
{
return strrev($job->workload());
}
?>
Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!
Check out: eBank.nz (Art Generator) |
Netwrck.com (AI Tools) |
Text-Generator.io (AI API) |
BitBank.nz (Crypto AI) |
ReadingTime (Kids Reading) |
RewordGame |
BigMultiplayerChess |
WebFiddle |
How.nz |
Helix AI Assistant