Php 如何处理gearman worker,致命错误
我在处理gearman工人时遇到问题,致命错误。Gearman守护进程在php出现致命错误时停止 我找到了这个url解决方案,但它不适合我。这是我的gearman工人代码:Php 如何处理gearman worker,致命错误,php,zend-framework,gearman,Php,Zend Framework,Gearman,我在处理gearman工人时遇到问题,致命错误。Gearman守护进程在php出现致命错误时停止 我找到了这个url解决方案,但它不适合我。这是我的gearman工人代码: $task = "send_lead"; $gmw->addFunction("sending_lead", function() use($task) { try { $result = call_user_func_array($task, func_get_args()); }
$task = "send_lead";
$gmw->addFunction("sending_lead", function() use($task) {
try {
$result = call_user_func_array($task, func_get_args());
} catch(\Exception $e) {
$result = GEARMAN_WORK_EXCEPTION;
echo "Gearman: CAUGHT EXCEPTION: " . $e->getMessage();
// Send exception to Exceptional so it can be logged with details
Exceptional::handle_exception($e, FALSE);
}
return $result;
});
while(1)
$gmw->work();
function send_lead($job)
{
$send_lead = new Frontend_Model_Index();
$send_lead->lead(json_decode($job->workload()));
}
顺便说一句,我使用的是zend 1.1
更新
错误是PHP致命错误:对中的非对象调用成员函数getSource_state
这是正确的错误。但如何处理这个错误。我不希望deamon因为任何错误而被终止,不管是致命的还是非致命的。我说的是500错误。如果您粘贴服务器日志中显示的500错误的描述,这会有所帮助。@Rolando Isidoro-我已经用错误更新了问题。