Hi there,
I had issue when command bin/magento queue:consumers:start async.operations.all after upgrade to magento 2.3.2
Please help me!!
Screen shot:
Many Thanks
Hi @duyetbv. Thank you for your report.
To help us process this issue please make sure that you provided the following information:
Please make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce. To deploy vanilla Magento instance on our environment, please, add a comment to the issue:
@magento give me 2.3-develop instance - upcoming 2.3.x release
For more details, please, review the Magento Contributor Assistant documentation.
@duyetbv do you confirm that you were able to reproduce the issue on vanilla Magento instance following steps to reproduce?
I've come across the same issue on 2.3.3 today, submitted an EE Support ticket.
Other references/reports on Stack Overflow I've discovered when trying to debug:
My point is - this seems to be commonly reported error on the Magento 2.3.x branch.
My env.php consist of:
return [
...
'cron_consumers_runner' => array(
'cron_run' => false,
'max_messages' => 20000,
'consumers' => [] // Allow all.
)
];
After following this Devdocs guide, after it explains:
If you don’t want to implement the RabbitMQ solution, you can manage message queues with cron job
https://devdocs.magento.com/guides/v2.3/config-guide/mq/manage-message-queues.html
So if I configure this env.php to manage the consumer via Cronjob, it shouldn't warn me of the amqp configuration right?
@magento-admin !!
could you help me resolve this issue
I was added like above but still not working
Thanks a lot
@MackieeE:
After following this Devdocs guide, after it explains:
If you don’t want to implement the RabbitMQ solution, you can manage message queues with cron job
https://devdocs.magento.com/guides/v2.3/config-guide/mq/manage-message-queues.html
So if I configure this env.php to manage the consumer via Cronjob, it shouldn't warn me of the amqp configuration right?
That's incorrect information on devdocs, which we are trying to fix in https://github.com/magento/devdocs/pull/5569
@duyetbv: if you want to use the async.operations.all consumer, I think that's only possible with RabbitMQ at the moment. So try setting that up and try getting it to work. This might help:
https://devdocs.magento.com/guides/v2.3/install-gde/prereq/install-rabbitmq.html
Also, I would advise you to remove that cron_run => false setting from your env.php file, unless you only want to manually start that consumer process or have something like supervisor manage it.
But if you want the normal cronjob system in Magento to spawn that consumer, you'd best remove it or set it to true.
@hostep
Big thank you for sharing this, I hadn't come across this PR request upon my research and had a pretty decent read through.
So as I understand it - Bulk requests are sent and stored in RabbitMQ as topics, much like you would sending to a Database and stored in a table. Only with the many added benefits with using RabbitMQ.
Now what I'm sure unsure on, but you explained in your post. Is that as part of the native cronjob process without the above configuration in env.php: Would async.operations.all become triggered as a runner regardless via cron:run?
So as long there's an amqp configuration set within env.php, the async.opera... command will collect/process the awaiting messages stored in topics set within RabbitMQ at each interval?
So if that's the case, I'll certainly look into RabbitMQ again. I had done before and had issues and decided to try the db route. I'll look again into this as it may have just been my configuration :)
Hi @MackieeE
Now what I'm sure unsure on, but you explained in your post. Is that as part of the native cronjob process without the above configuration in env.php: Would async.operations.all become triggered as a runner regardless via cron:run?
If you don't have amqp configured in Magento, and you execute bin/magento cron:run, you'll find the following message in your var/log/system.log file:
main.INFO: Consumer "async.operations.all" skipped as required connection "amqp" is not configured. Unknown connection name amqp [] []
Which is done over here
So it's trying to trigger it, but halting since amqp configuration isn't setup yet.
Hope this makes it more clear :)
That does indeed and thank you for taking your kind time to explain! :D I’ll keep an eye on PR and hope it pulls through :)
Hi @hostep
Thanks for your support!
I will try and may still need your help
Thank again
Yes. You need to either disable the async.operations.all consumer from being run (in env.php) and do without that functionality or setup the amqp details (also in env.php) to point to your rabbitmq installation. Seems there is no way to configure the async.operations.all queue to use mysql instead of amqp server.
Hi @engcom-Charlie. Thank you for working on this issue.
In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:
Issue: Format is valid will be added to the issue automatically. Please, edit issue description if needed, until label Issue: Format is valid appears.[ ] 2. Verify that issue has a meaningful description and provides enough information to reproduce the issue. If the report is valid, add Issue: Clear Description label to the issue by yourself.
[ ] 3. Add Component: XXXXX label(s) to the ticket, indicating the components it may be related to.
[ ] 4. Verify that the issue is reproducible on 2.3-develop branchDetails
- Add the comment @magento give me 2.3-develop instance to deploy test instance on Magento infrastructure.
- If the issue is reproducible on 2.3-develop branch, please, add the label Reproduced on 2.3.x.
- If the issue is not reproducible, add your comment that issue is not reproducible and close the issue and _stop verification process here_!
[ ] 5. Add label Issue: Confirmed once verification is complete.
[ ] 6. Make sure that automatic system confirms that report has been added to the backlog.
Hello @duyetbv
I can reproduce this issue only with bad configuration env.php. No way to configure the async.operations.all queue to use mysql.
As I understand your problem is solved.
So i can close this issue.
Thanks for your report!
I think it would be helpful that for mere mortals (which are probably in majority) who don't need bulk API and don't need that var/log/system.log is littered with the message:
Consumer “async.operations.all” skipped as required connection “amqp” is not configured
to have the Magento_WebapiAsync module disabled by default.
And if it's not possible, at least mention that disabling it will help to get rid of the message and keep logs clean. As per post:
php bin/magento module:disable Magento_WebapiAsync
Most helpful comment
@MackieeE:
That's incorrect information on devdocs, which we are trying to fix in https://github.com/magento/devdocs/pull/5569
@duyetbv: if you want to use the
async.operations.allconsumer, I think that's only possible with RabbitMQ at the moment. So try setting that up and try getting it to work. This might help:https://devdocs.magento.com/guides/v2.3/install-gde/prereq/install-rabbitmq.html
Also, I would advise you to remove that
cron_run => falsesetting from yourenv.phpfile, unless you only want to manually start that consumer process or have something likesupervisormanage it.But if you want the normal cronjob system in Magento to spawn that consumer, you'd best remove it or set it to
true.