Root ourselves. date_default_timezone_set('Africa/Johannesburg'); #-> Our primary workspace for getting stuff done. class Logger { /** * Log something to the error log. * @param GearmanJob $job * @return null */ static public function log(GearmanJob $job) { #-> Unpack. $request = json_decode($job->workload(), true); error_log( is_object($request['message']) || is_array($request['message']) ? print_r($request['message'], true) : $request['message'] ); } } #-> Register as a gearman worker. $worker = new GearmanWorker(); $worker->addServer(); $worker->addFunction('Log', array('Logger', 'log')); #-> Wait for jobs to come in. while ($worker->work()) { ; }