< Back
Print

Export via RabbitMQ

Often, the Shopware 6 system is the bottleneck while exporting, as it requires a significant amount of time to process the messages sent by the SAWSConnector.
To speed up the export for the Contentserv system you can use an RabbitMQ-server for transferring import messages.

This, of Course, requires an additional RabbitMQ-server which you may also acquire through our Owl cloud services.

Shopware doesn’t natively support importing via RabbitMQ, but instead requires the SAWSConnector plugin.
The plugin is only needed for transfers via RabbitMQ.

Please note that this functionality requires Version 1.15 or higher of the SAWSConnector.

Preparing RabbitMQ

The Shopware 6 Connector only requires you to provide a RabbitMQ user account.
Together with the SAWSConnector licence and the OWL, we also deliver a RabbitMQ solution that you can use. For more information, see Rabbit MQ Connection.

The Shopware Plugin will configure all other neccesary changes (Exchanges / Queues) once connected.

Setting Up The Shopware Plugin

Installing

First you have to install the Pluigin  “SAWS MessageQueue Import Plugin”

Connection to RabbitMQ

After installing the plugin, you will find a new option in your shopware system settings called “SAWSConnector”.

This will open the dialog for configuring your connection to RabbitMQ.
On the left you will see your connection status. After a fresh install your connection is disabled.

On the right you will find the connection options. You can either fill those options from scratch or load the default options and customize those.

Setting Description
Enable connection If checked, the plugin will try to establish a connection to the RabbitMQ-server
Host The domain or ip-address under which the RabbitMQ-server can be reached.
Port The Port to connect to. The standart Port is 5672.
Virtual Host The virtual host you want to connect to on your RabbitMQ-server.
Username The user you created for the Shopware connection. For security reasons, please don’t use your administrative user.
Password The password of your RabbitMQ-user.
Exchange This is the name of the exchange. This should reflect which shop you’re connecting, if you connect several shops ver the same virtual Host. e.g.: Shopware1
Queue for requests to Shopware This is the name of the Queue in which the plugin will search for messages from ContentServ. e.g.: Shopware1-request
Queue for responses from Shopware This queue will be used to return the Shopware-api response to Contentserv. e.g.: Shopware 1-response
Queue for worker status checks This queue is only used by the plugin itself. Using this queue the plugin can check not only if the connection works, but also if the worker is active.

Configuring The Worker

The worker is a process that runs in the background and accepts the RabbitMQ-messages. After receiving a message, it will forward it to the Shopware-API and send the result back to RabbitMQ.

To temporarily start the worker, you may use the following command.

bin/console messenger:consume saws_ping_queue saws_request_queue --time-limit=3600 --memory-limit=256M

The worker will shut down after the specified time or if the memory limit is exceeded.

For this reason, you should start the worker either as a service (e.g. using systemd) or using a process manager like supervisord!!!

Exporting to RabbitMQ Using The SAWSConnector

Now you just have to configure your Shopware 6 station to export via RabbitMQ.
You can find the relevant options in your station settings under data transmission.
Station Settings -> Data Transmission -> RabbitMQ Settings

Here, you just have to replicate the same settings you already used in the Shopware plugin.

These are the additional settings provided in the connector:

Setting Description
Close “Waiting”-Jobs (in minutes) How long the connector should wait for responses for this job before marking the export as closed (crashed).

 

If you have configured the RabbitMQ correctly, the SAWS Connector job runs in two stages (asynchronous). The first stage exports the data to the RabbitMQ and in the second stage the SAWS connector waits for the response from the Shopware system. This response is also sent via RabbitMQ.

When the transfer has been successfully finished, the messages should be visible in the RabbitMQ overview.

Was this article helpful?
How can we improve this article?
Please submit the reason for your vote so that we can improve the article.
Previous Useful Links
Table of Contents