aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/en/developer
diff options
context:
space:
mode:
authorJeremy Benoist <j0k3r@users.noreply.github.com>2016-09-19 07:15:40 +0200
committerGitHub <noreply@github.com>2016-09-19 07:15:40 +0200
commitda18a4682f124b02278860d23ac1d59dee995277 (patch)
treeeabbe9da7203eea41e0cb0ec3c26b9b6599cf58f /docs/en/developer
parent0ed8ce55b5caf2c88e8330afa83abef6c4aac9a4 (diff)
parent59b97fae996d8307b9d957d210d46200f6d206bf (diff)
downloadwallabag-da18a4682f124b02278860d23ac1d59dee995277.tar.gz
wallabag-da18a4682f124b02278860d23ac1d59dee995277.tar.zst
wallabag-da18a4682f124b02278860d23ac1d59dee995277.zip
Merge pull request #1941 from wallabag/v2-asynchronous-jobs
Use asynchronous jobs for imports
Diffstat (limited to 'docs/en/developer')
-rw-r--r--docs/en/developer/rabbitmq.rst67
-rw-r--r--docs/en/developer/redis.rst62
2 files changed, 129 insertions, 0 deletions
diff --git a/docs/en/developer/rabbitmq.rst b/docs/en/developer/rabbitmq.rst
new file mode 100644
index 00000000..8cee45fb
--- /dev/null
+++ b/docs/en/developer/rabbitmq.rst
@@ -0,0 +1,67 @@
1Install RabbitMQ for asynchronous tasks
2=======================================
3
4In order to launch asynchronous tasks (useful for huge imports for example), we can use RabbitMQ.
5
6Requirements
7------------
8
9You need to have RabbitMQ installed on your server.
10
11Installation
12~~~~~~~~~~~~
13
14.. code:: bash
15
16 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
17 apt-key add rabbitmq-signing-key-public.asc
18 apt-get update
19 apt-get install rabbitmq-server
20
21Configuration and launch
22~~~~~~~~~~~~~~~~~~~~~~~~
23
24.. code:: bash
25
26 rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
27 rabbitmq-server -detached
28
29Stop RabbitMQ
30~~~~~~~~~~~~~
31
32.. code:: bash
33
34 rabbitmqctl stop
35
36
37Configure RabbitMQ in wallabag
38------------------------------
39
40Edit your ``parameters.yml`` file to edit RabbitMQ configuration. The default one should be ok:
41
42.. code:: yaml
43
44 rabbitmq_host: localhost
45 rabbitmq_port: 5672
46 rabbitmq_user: guest
47 rabbitmq_password: guest
48
49
50Launch RabbitMQ consumer
51------------------------
52
53Depending on which service you want to import from you need to enable one (or many if you want to support many) cron job:
54
55.. code:: bash
56
57 # for Pocket import
58 bin/console rabbitmq:consumer import_pocket -w
59
60 # for Readbility import
61 bin/console rabbitmq:consumer import_readability -w
62
63 # for wallabag v1 import
64 bin/console rabbitmq:consumer import_wallabag_v1 -w
65
66 # for wallabag v2 import
67 bin/console rabbitmq:consumer import_wallabag_v2 -w
diff --git a/docs/en/developer/redis.rst b/docs/en/developer/redis.rst
new file mode 100644
index 00000000..5748e260
--- /dev/null
+++ b/docs/en/developer/redis.rst
@@ -0,0 +1,62 @@
1Install Redis for asynchronous tasks
2=======================================
3
4In order to launch asynchronous tasks (useful for huge imports for example), we can use Redis.
5
6Requirements
7------------
8
9You need to have Redis installed on your server.
10
11Installation
12~~~~~~~~~~~~
13
14.. code:: bash
15
16 apt-get install redis-server
17
18Launch
19~~~~~~
20
21The server might be already running after installing, if not you can launch it using:
22
23.. code:: bash
24
25 redis-server
26
27
28Configure Redis in wallabag
29---------------------------
30
31Edit your ``parameters.yml`` file to edit Redis configuration. The default one should be ok:
32
33.. code:: yaml
34
35 redis_host: localhost
36 redis_port: 6379
37
38
39Launch Redis consumer
40------------------------
41
42Depending on which service you want to import from you need to enable one (or many if you want to support many) cron job:
43
44.. code:: bash
45
46 # for Pocket import
47 bin/console wallabag:import:redis-worker pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
48
49 # for Readbility import
50 bin/console wallabag:import:redis-worker readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
51
52 # for wallabag v1 import
53 bin/console wallabag:import:redis-worker wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
54
55 # for wallabag v2 import
56 bin/console wallabag:import:redis-worker wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
57
58If you want to launch the import only for some messages and not all, you can specify this number (here 12) and the worker will stop right after the 12th message :
59
60.. code:: bash
61
62 bin/console wallabag:import:redis-worker pocket -vv --maxIterations=12