diff options
author | Jeremy Benoist <j0k3r@users.noreply.github.com> | 2016-09-19 07:15:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-19 07:15:40 +0200 |
commit | da18a4682f124b02278860d23ac1d59dee995277 (patch) | |
tree | eabbe9da7203eea41e0cb0ec3c26b9b6599cf58f /docs/en/developer | |
parent | 0ed8ce55b5caf2c88e8330afa83abef6c4aac9a4 (diff) | |
parent | 59b97fae996d8307b9d957d210d46200f6d206bf (diff) | |
download | wallabag-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.rst | 67 | ||||
-rw-r--r-- | docs/en/developer/redis.rst | 62 |
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 @@ | |||
1 | Install RabbitMQ for asynchronous tasks | ||
2 | ======================================= | ||
3 | |||
4 | In order to launch asynchronous tasks (useful for huge imports for example), we can use RabbitMQ. | ||
5 | |||
6 | Requirements | ||
7 | ------------ | ||
8 | |||
9 | You need to have RabbitMQ installed on your server. | ||
10 | |||
11 | Installation | ||
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 | |||
21 | Configuration 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 | |||
29 | Stop RabbitMQ | ||
30 | ~~~~~~~~~~~~~ | ||
31 | |||
32 | .. code:: bash | ||
33 | |||
34 | rabbitmqctl stop | ||
35 | |||
36 | |||
37 | Configure RabbitMQ in wallabag | ||
38 | ------------------------------ | ||
39 | |||
40 | Edit 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 | |||
50 | Launch RabbitMQ consumer | ||
51 | ------------------------ | ||
52 | |||
53 | Depending 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 @@ | |||
1 | Install Redis for asynchronous tasks | ||
2 | ======================================= | ||
3 | |||
4 | In order to launch asynchronous tasks (useful for huge imports for example), we can use Redis. | ||
5 | |||
6 | Requirements | ||
7 | ------------ | ||
8 | |||
9 | You need to have Redis installed on your server. | ||
10 | |||
11 | Installation | ||
12 | ~~~~~~~~~~~~ | ||
13 | |||
14 | .. code:: bash | ||
15 | |||
16 | apt-get install redis-server | ||
17 | |||
18 | Launch | ||
19 | ~~~~~~ | ||
20 | |||
21 | The server might be already running after installing, if not you can launch it using: | ||
22 | |||
23 | .. code:: bash | ||
24 | |||
25 | redis-server | ||
26 | |||
27 | |||
28 | Configure Redis in wallabag | ||
29 | --------------------------- | ||
30 | |||
31 | Edit 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 | |||
39 | Launch Redis consumer | ||
40 | ------------------------ | ||
41 | |||
42 | Depending 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 | |||
58 | If 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 | ||