Usually you will not need to create a GearmanJob object. The GearmanJob instance will be passed to a registered function with the job server when GearmanWorker::addFunction is used:
<?php
// create the worker
$worker= new GearmanWorker();
// add the default job server (localhost)
$worker->addServer('127.0.0.1', 4730);
// define a variable to hold application data
$count = 0;
// add the reverse function
$worker->addFunction('reverse', 'my_reverse_function', $count);
// start the worker listening for job submissions
while ($worker->work());
function my_reverse_function(GearmanJob $job, &$count)
{
$count++;
return $count . ': ' . strrev($job->workload()) . "\n";
}
?>