gearman php 不退出并且内存耗尽
ini_set('memory_limit', '1G');
$gmworker= new GearmanWorker();
$gmworker->addServer();
$gmworker->addFunction("create_job_process", "worker_create_job");
$gmworker->setTimeout(-1);
print "Waiting for job...\n";
while($gmworker->work())
{
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
if ($gmworker->returnCode() == GEARMAN_SUCCESS)
{
echo "success\n\n";
break;
}
sleep(1);
}
当日志中显示“成功”时,我可以看到内存使用量不断增长,然后出现错误:
PHP Fatal error:Allowed memory size of 1073741824 bytes耗尽(尝试分配24字节)
ini_set('memory_limit', '1G');
$gmworker= new GearmanWorker();
$gmworker->addServer();
$gmworker->addFunction("create_job_process", "worker_create_job");
$gmworker->setTimeout(-1);
print "Waiting for job...\n";
while($gmworker->work())
{
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
if ($gmworker->returnCode() == GEARMAN_SUCCESS)
{
echo "success\n\n";
break;
}
sleep(1);
}
When the "success" show in log, i can see the memory usage growing then got the error:
PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 24 bytes)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最后添加了 exec("kill -9 ".getmypid());停止该过程。
Finally added the exec("kill -9 ". getmypid()); to stop the process.