How can we help you today?

How to run RabbitMQ on Hypernode

Created by: Lianne van Looij

Modified on: Fri, 28 Aug, 2020 at 9:18 AM


RabbitMQ is available on Hypernode for all Excellence plans and all Professional S plans and up. Check the changelog here.

TABLE OF CONTENTS

What is RabbitMQ?

Because Magento is a heavy and slow application, tasks are preferably executed in the background. To run tasks in the background you need queues. RabbitMQ is message-queueing software where queues can be defined. Applications can connect to the queue and transfer a message onto it. This way you can (for example) import many products into Magento without having to wait a substantial time until the process is finished. The import takes place in the background.

The main idea behind queues is to avoid doing a resource-intensive task immediately and having to wait for it to complete. Instead you can schedule the task to be done later. The task is wrapped-up as a message and sent to a queue. A worker process running in the background will pop the tasks and eventually execute the job.

Details RabbitMQ on Hypernode

  • Hypernode installs and runs RabbitMQ if the hosting plan supports it AND if you have explicitly enabled it
  • RabbitMQ can be enabled / disabled via the hypernode-api or hypernode-systemctl commandline tool
  • RabbitMQ will be disabled automatically when you downgrade your hosting plan that does not support it
  • When upgrading or downgrading your hosting plan, any exchanges, queues, users and persistent messages (non-transient) will be transferred to your new Hypernode. Even if your new hosting plan does not support RabbitMQ, the data will be kept.
  • The data is also kept if RabbitMQ disabled. After re-enabling it again, you still have your queues, users, etc.

How to enable RabbitMQ

RabbitMQ is available on Hypernode for all Excellence plans and all Professional  plans and up.

Enabling RabbitMQ can be done via de commandline tool or the Hypernode API.

As an app user you enable RabbitMQ this way:

$ hypernode-systemctl settings rabbitmq_enabled True

Use False to turn it off.

If your hosting plan does not support RabbitMQ, you will receive the following message:

app@uaijq6-test-magweb-do:~$ hypernode-systemctl settings rabbitmq_enabled --value True
Looks like something went wrong: b'{"rabbitmq_enabled":["RabbitMQ cannot be enabled for this app. Please upgrade to a plan that supports RabbitMQ if you want to make use of this feature."]}'

Access RabbitMQ

  • RabbitMQ only binds on localhost
  • The default admin account is username guest and password guest. You can change and add users via the admin interface.
  • You can access the admin interface e.g. by forwarding the tcp port via SSH:

ssh app@appname.hypernode.io -L 55672:localhost:15672

Use your browser to go to localhost:55672 and logon using guest/guest.

Another way to access the admin interface is via hypernode-vpn

RabbitMQ and Magento

You need to make some changes in Magento in order to use RabbitMQ. For example in /data/web/magento2/app/etc/env.php:



2
3
4
5
6
7
8
9
10
11
'queue' =>
        array (
            'amqp' =>
                array (
                    'host' => 'localhost',
                    'port' => '5672',
                    'user' => 'guest',
                    'password' => 'guest',
                    'virtualhost' => '/',
                ),
        ),


L
Lianne is the author of this solution article.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.