“允许的内存大小已耗尽”错误是否与 Laravel 队列中的“MaxAttemptsExceededException”相关?

问题描述 投票:0回答:1

我们的 Laravel 项目遇到以下错误:

Fatal Error: Allowed Memory Size of 124213718 Bytes Exhausted.

此外,我们的队列工作人员正在

failed_jobs
表中记录错误,具体来说:
Illuminate\Queue\MaxAttemptsExceededException.

我的问题是:这两个错误是否相关?内存耗尽是否是导致

MaxAttemptsExceededException
的一个因素?

在服务器上,我们的

/etc/php.ini
文件当前有
memory_limit = 512M
。我们有足够的资源将其增加到
2G
。提高内存限制是否可以解决或缓解这些问题?

提供一些背景信息。 我们的 cron 作业正在处理超过 4000 个 RDS 实例。 其中一个实例导致此错误出现在

failed_jobs
表中。

尝试过的可能解决方案之一:在

superivsor.d
文件中的
queueworker.ini
目录中 - 我已将超时增加到 300,因为我看到这是一个常见的解决方案,但它仍然不起作用。

预先感谢您的任何建议!

queueworker.ini
文件

process_name=%(program_name)s_%(process_num)02d
command=php /var/www/my-app/artisan queue:work --sleep=3 --tries=3 --timeout=300
autostart=true
autorestart=true
user=admin
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/my-app/storage/logs/worker.log
startsecs=0
php laravel debugging
1个回答
0
投票

如果无法访问您的日志,就无法确定这一点。

检查你的 Laravel 日志并搜索 MaxAttemptsExceededException,这将向你准确显示失败的原因(以及原因)。

此外,您的内存不足错误显示您允许的内存为 128MB(已耗尽 124213718 字节)而不是 512MB,您应该仔细检查该限制是否同时应用于作业、Web 请求和 CLI。

© www.soinside.com 2019 - 2024. All rights reserved.