0

Upon checking my server logs I see that in the system.log I have a lot of records with this error: main.INFO: Consumer "async.operations.all" skipped as required connection "amqp" is not configured. Unknown connection name amqp [] []

Could someone please confirm if I can disable this module I am not able to understand what it is even used for. I've read this article from the official Magento docs: Manage message queues but still I am not able to understand do I have to leave it enabled or I can disable it. If someone could please explain what this module does would be great as well.

I am using Magento 2.3.2 on a VPS.

1

I keep bumping in this so I read up a bit more and now feel there is a need for better answers

Solutions that tell you to do cron_run = 'false" will disable other queues you do want, like bulk attribute update or export file generation.

Option 1 disable package

php bin/magento module:disable Magento_WebapiAsync
php bin/magento module:disable Magento_Amqp

They are useful for large site for bulk update and integrations, but for smaller sites totally fine without

Option 2 Tweak your queue cron, dont disable it

  1. List your existing queues

    bin/magento queue:consumers:list

  2. Add all of them except async to your cron consumer, in env.php. If there is functionality you never use, skip that one (but remember you did...)

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

Most places have a higher max_messages but if you are not having rabbitmq you are possibly on a low budget host too and short queues more often are better. Up the number as you want.

| improve this answer | |
  • Thank you for the explanation and solution! – h3k 1 hour ago
6

The answer is yes.You can disable module Magento_Amqp.

Magento have mechanism asynchronous that avoid many heavy task (export file, indexing table..) execute in same time. Just imagine in back-end,you have multiple admin user export products into csv file in the same time. It will really make your server stressful. So mechanism asynchronous allow when admin user export file, this task(message) will be pushed into a queue, it will be processed one by one.Your admin user may not see the export file right away, but after a few minutes the export file will be shown.

If you're using Magento_Amqp,you have to use third-party software like RabitMQ and configured at `app/etc/env.php` file to implement that mechanism. Its advantage is nearly real-time.The admin user will see the export file as soon as possible.

If you don't use Magento_Amqp,it's okay,you can disable it. The Magento has already Magento_MysqlMq module. It also implements asynchronous mechanism in database. Its disadvantage is not real-time.It depend on how period the cron you setup. Your admin user may have to wait

I hope you got the ideal. Sorry for my bad English

| improve this answer | |
2

It is optional yes.

Message queuing allows different components to communicate by sending messages to each other. The message queue provides temporary message storage when the destination component is busy or not responding.

Although remove it via composer

https://github.com/yireo/magento2-replace-core/blob/magento-2.3.2/composer.json

    "magento/module-amqp": "*"

That said you might use third party extensions which require it

| improve this answer | |
  • need to do it with WebapiAsync too I think. – iphigenie yesterday
1

Magento_Amqp :- Magento_Amqp module provides functionality to publish/consume messages with the Advanced Message Queuing Protocol (AMQP).

And more information read this link :-

https://devdocs.magento.com/guides/v2.3/mrg/ce/Amqp.html

If you don't want to use the Magento Message Queues, you can just disable it.

php bin/magento module:disable Magento_Amqp

If you want to use it, you might modify your app/etc/env.php

<?php
return [

// ...

'cron_consumers_runner' => [
    'cron_run' => false,
    'max_messages' => 1000,
    'consumers' => [
    'async.operations.all',
    ]
]

]; // return closing

Reference: https://devdocs.magento.com/guides/v2.3/config-guide/mq/manage-message-queues.html#configuration

| improve this answer | |
  • Can you please tell me is it safe to disable it ? What will be the result if I disable the module. I am not able to understand what publish/consume messages with the Advanced Message Queuing Protocol (AMQP) means. Thanks – h3k Mar 14 at 18:31
  • This module only optional. You module enable or disable but no changes your Magento. So you can disable. – Mohit Patel Mar 15 at 2:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.