Magento 2:批量操作未启动?

xcitsw88  于 2022-11-24  发布在  其他
关注(0)|答案(4)|浏览(135)

我已经花了几个小时试图弄清楚这一点,但我没有取得很大的进展,所以我想我会在这里张贴。我有问题的批量操作不启动,任务得到排队,但这就是它所做的,它没有启动。我得到一个**任务“更新属性为20个选定的产品”:当前正在更新0个项目。已计划更新0个项目。**当我检查日志时,它显示为“正在进行”,但没有任何内容启动。

疑难排解

1.)我已经检查了magento_bulk并删除了行,希望有什么东西卡住了,但是当我排队另一个任务时,它被添加到表中,而没有被推到magento_acknowledged_bulk中。
2.)我已经检查了Nginx日志,看不到任何指向问题的东西,post_max_size有一个问题,超过了限制,但是我修复了这个问题并重新启动了PHP,这对批量操作没有任何影响。
3.)我仔细检查了权限,可以确认他们的Magento建议,没有什么不正确的权限。
以前有人遇到过这个问题吗?我看了一些论坛,但是看起来没有人解决这个问题?
任何帮助都将不胜感激!

mpbci0fu

mpbci0fu1#

经过进一步的调查和研究,在env.php文件中的这个修改似乎已经解决了我的问题。在进行修改之前,我清除了magento_bulk表,并确保没有任何东西排队。
我将默认的 cron_consumers_runner 替换为以下内容:

'cron_consumers_runner' => [
'cron_run' => true,
'max_messages' => 2000,
'consumers' => [
    'product_action_attribute.update',
    'product_action_attribute.website.update',
    'exportProcessor',
    'codegeneratorProcessor'
]]

更改后,我重新编译并清除缓存,然后排队进行批量更改(我更改了20个产品的定价),此作业立即运行。
希望这对其他人有帮助!

shstlldc

shstlldc2#

根据Magento 2文档,您应该将消费者留空:
consumers -指定要运行的使用者的字符串数组。空数组运行所有使用者。
参考:https://devdocs.magento.com/guides/v2.4/config-guide/mq/manage-message-queues.html
在app/etc/etc/中,你可以找到一个

'cron_consumers_runner' => [
   'cron_run' => true,
   'max_messages' => 20000,
   'consumers' => [
   ]
],
oxcyiej7

oxcyiej73#

我在Magento 2.4.2中遇到了同样的问题。但是在更改了db-schema.xml后得到了修复,如本文中所述如何修复Magneto 2批量操作不启动

yvfmudvl

yvfmudvl4#

实际上,对于我在2.3.2上来说,这真的很简单,数据库中有一个cron作业被"卡住"了,当我删除它时,事情又开始了。例如,在数据库表cron_schedule中查找带有status = 'running'job_code = 'consumers_runner',然后删除该行。希望这对其他人有帮助,我花了很长时间才弄明白...

相关问题