我已经花了几个小时试图弄清楚这一点,但我没有取得很大的进展,所以我想我会在这里张贴。我有问题的批量操作不启动,任务得到排队,但这就是它所做的,它没有启动。我得到一个**任务“更新属性为20个选定的产品”:当前正在更新0个项目。已计划更新0个项目。**当我检查日志时,它显示为“正在进行”,但没有任何内容启动。
疑难排解
1.)我已经检查了magento_bulk并删除了行,希望有什么东西卡住了,但是当我排队另一个任务时,它被添加到表中,而没有被推到magento_acknowledged_bulk中。
2.)我已经检查了Nginx日志,看不到任何指向问题的东西,post_max_size有一个问题,超过了限制,但是我修复了这个问题并重新启动了PHP,这对批量操作没有任何影响。
3.)我仔细检查了权限,可以确认他们的Magento建议,没有什么不正确的权限。
以前有人遇到过这个问题吗?我看了一些论坛,但是看起来没有人解决这个问题?
任何帮助都将不胜感激!
4条答案
按热度按时间mpbci0fu1#
经过进一步的调查和研究,在env.php文件中的这个修改似乎已经解决了我的问题。在进行修改之前,我清除了magento_bulk表,并确保没有任何东西排队。
我将默认的 cron_consumers_runner 替换为以下内容:
更改后,我重新编译并清除缓存,然后排队进行批量更改(我更改了20个产品的定价),此作业立即运行。
希望这对其他人有帮助!
shstlldc2#
根据Magento 2文档,您应该将消费者留空:
consumers -指定要运行的使用者的字符串数组。空数组运行所有使用者。
参考:https://devdocs.magento.com/guides/v2.4/config-guide/mq/manage-message-queues.html
在app/etc/etc/中,你可以找到一个
oxcyiej73#
我在Magento 2.4.2中遇到了同样的问题。但是在更改了db-schema.xml后得到了修复,如本文中所述如何修复Magneto 2批量操作不启动
yvfmudvl4#
实际上,对于我在2.3.2上来说,这真的很简单,数据库中有一个cron作业被"卡住"了,当我删除它时,事情又开始了。例如,在数据库表
cron_schedule
中查找带有status = 'running'
的job_code = 'consumers_runner'
,然后删除该行。希望这对其他人有帮助,我花了很长时间才弄明白...