2016-01-15 07:24:32 +00:00
|
|
|
Install RabbitMQ for asynchronous tasks
|
|
|
|
=======================================
|
|
|
|
|
2016-09-11 18:43:16 +00:00
|
|
|
In order to launch asynchronous tasks (useful for huge imports for example), we can use RabbitMQ.
|
2016-01-15 07:24:32 +00:00
|
|
|
|
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
|
|
|
You need to have RabbitMQ installed on your server.
|
|
|
|
|
|
|
|
Installation
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
|
|
|
|
apt-key add rabbitmq-signing-key-public.asc
|
|
|
|
apt-get update
|
|
|
|
apt-get install rabbitmq-server
|
|
|
|
|
|
|
|
Configuration and launch
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
|
|
|
|
rabbitmq-server -detached
|
|
|
|
|
|
|
|
Stop RabbitMQ
|
|
|
|
~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
|
|
|
rabbitmqctl stop
|
|
|
|
|
|
|
|
|
|
|
|
Configure RabbitMQ in wallabag
|
|
|
|
------------------------------
|
|
|
|
|
2016-09-11 18:43:16 +00:00
|
|
|
Edit your ``parameters.yml`` file to edit RabbitMQ configuration. The default one should be ok:
|
|
|
|
|
|
|
|
.. code:: yaml
|
|
|
|
|
|
|
|
rabbitmq_host: localhost
|
|
|
|
rabbitmq_port: 5672
|
|
|
|
rabbitmq_user: guest
|
|
|
|
rabbitmq_password: guest
|
|
|
|
|
2016-10-10 13:38:49 +00:00
|
|
|
Enable RabbitMQ in wallabag
|
|
|
|
---------------------------
|
|
|
|
|
|
|
|
In internal settings, in the **Import** section, enable RabbitMQ (with the value 1).
|
2016-01-15 07:24:32 +00:00
|
|
|
|
|
|
|
Launch RabbitMQ consumer
|
|
|
|
------------------------
|
|
|
|
|
2016-09-11 18:43:16 +00:00
|
|
|
Depending on which service you want to import from you need to enable one (or many if you want to support many) cron job:
|
2016-01-15 07:24:32 +00:00
|
|
|
|
|
|
|
.. code:: bash
|
|
|
|
|
2016-09-11 18:43:16 +00:00
|
|
|
# for Pocket import
|
2016-10-08 07:39:07 +00:00
|
|
|
bin/console rabbitmq:consumer -e=prod import_pocket -w
|
2016-09-11 18:43:16 +00:00
|
|
|
|
2016-09-29 09:01:15 +00:00
|
|
|
# for Readability import
|
2016-10-08 07:39:07 +00:00
|
|
|
bin/console rabbitmq:consumer -e=prod import_readability -w
|
2016-09-11 18:43:16 +00:00
|
|
|
|
2016-09-29 09:01:15 +00:00
|
|
|
# for Instapaper import
|
2016-10-08 07:39:07 +00:00
|
|
|
bin/console rabbitmq:consumer -e=prod import_instapaper -w
|
2016-09-29 09:01:15 +00:00
|
|
|
|
2016-09-11 18:43:16 +00:00
|
|
|
# for wallabag v1 import
|
2016-10-08 07:39:07 +00:00
|
|
|
bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
|
2016-09-11 18:43:16 +00:00
|
|
|
|
|
|
|
# for wallabag v2 import
|
2016-10-08 07:39:07 +00:00
|
|
|
bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
|
2016-09-29 09:01:15 +00:00
|
|
|
|
|
|
|
# for Firefox import
|
2016-10-08 07:39:07 +00:00
|
|
|
bin/console rabbitmq:consumer -e=prod import_firefox -w
|
2016-09-29 09:01:15 +00:00
|
|
|
|
|
|
|
# for Chrome import
|
2016-10-08 07:39:07 +00:00
|
|
|
bin/console rabbitmq:consumer -e=prod import_chrome -w
|