我正在通过邮递员开发服务和测试。
有一个队列。
例如,它处理数据。
Controller call JobCalc.
JobCalc{
while($condition){
body code;
}
call function statistics($parameter);
call new JOB
}
处理 1000 行的数据时。一切顺利,将参数传递给下一个JOB,一切都以成功告终。
当数据有 15000 行时。在循环中,一切都被处理了,但作业和函数没有被调用更长的时间。
failed_jobs 表中的日志和数据库中没有任何内容。
在 php.ini 中,我将内存增加到 1024 MB,以及脚本执行时间,但没有结果。我不知道该去哪里找了。
我在控制器中调用作业后插入了回显,以查看代码在第一次调用作业后是否更进一步,一切正常。
代码我就不扔了,因为大概有1500行,我大致描述了结构。
问题出在内存中。由于不是我编写逻辑,而是在我之前,很难进入代码。
虽然吃记忆不清楚,但解决方案是使用
这将使用的内存量减少了 3-4 倍。一切都开始按预期工作。