Laravel 队列工作程序在 89MB 内存使用时冻结
Laravel queue worker freezes at 89MB memory usage
问题
最近我 运行 遇到一个问题,我的 Laravel 队列工作程序在 89MB 时冻结。这种情况一直发生(它总是冻结在 89MB 内存使用量),因为我要求我的同事 运行 在他们的机器上使用相同数量的作业以及不同版本的代码库。
关于代码的一些信息
代码的作用
我们创建了一个命令,可以为 table 中的每条记录创建一个作业条目。这创造了大约 10 000 个工作岗位。每个作业的任务是从行中获取信息并在我们的 Elasticsearch 索引之一中创建文档。
我们最近没有对产生问题的代码进行任何更改,我们可以确认它在大约两个月前就可以正常工作。
我们尝试过的
- 搜索了有关 Laravel、php、Elasticsearch 和 Macos Catalina 的问题(因为我们使用的是 mac,并且最近有更新)
- 使用不同的次要版本的 Elasticsearch 7.* 和 php 7.*
- 运行 2 个月前的代码库版本。
- 将 php 的 memory_limit 增加到 512MB(原为 128MB)。
一个有趣的观察是,每次队列停止然后再次启动时,最新的作业都会失败并出现最大超时异常
如有任何帮助,我们将不胜感激。
我进一步测试发现问题是由Xampp包引起的(我们认为它与附带的php有关)。
我用 Ampps 替换了程序包,然后一切正常。
问题
最近我 运行 遇到一个问题,我的 Laravel 队列工作程序在 89MB 时冻结。这种情况一直发生(它总是冻结在 89MB 内存使用量),因为我要求我的同事 运行 在他们的机器上使用相同数量的作业以及不同版本的代码库。
关于代码的一些信息
代码的作用
我们创建了一个命令,可以为 table 中的每条记录创建一个作业条目。这创造了大约 10 000 个工作岗位。每个作业的任务是从行中获取信息并在我们的 Elasticsearch 索引之一中创建文档。
我们最近没有对产生问题的代码进行任何更改,我们可以确认它在大约两个月前就可以正常工作。
我们尝试过的
- 搜索了有关 Laravel、php、Elasticsearch 和 Macos Catalina 的问题(因为我们使用的是 mac,并且最近有更新)
- 使用不同的次要版本的 Elasticsearch 7.* 和 php 7.*
- 运行 2 个月前的代码库版本。
- 将 php 的 memory_limit 增加到 512MB(原为 128MB)。
一个有趣的观察是,每次队列停止然后再次启动时,最新的作业都会失败并出现最大超时异常
如有任何帮助,我们将不胜感激。
我进一步测试发现问题是由Xampp包引起的(我们认为它与附带的php有关)。
我用 Ampps 替换了程序包,然后一切正常。