]> git.immae.eu Git - github/wallabag/wallabag.git/blob - docs/fr/developer/asynchronous.rst
Merge pull request #3237 from matteocoder/master
[github/wallabag/wallabag.git] / docs / fr / developer / asynchronous.rst
1 Tâches asynchrones
2 ==================
3
4 Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser RabbitMQ ou Redis.
5
6 Installer RabbitMQ pour des tâches asynchrones
7 ----------------------------------------------
8
9 Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser RabbitMQ.
10
11 Pré-requis
12 ^^^^^^^^^^
13
14 Vous devez installer RabbitMQ sur votre serveur.
15
16 Installation
17 ^^^^^^^^^^^^
18
19 .. code:: bash
20
21 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
22 apt-key add rabbitmq-signing-key-public.asc
23 apt-get update
24 apt-get install rabbitmq-server
25
26 Configuration et démarrage
27 ^^^^^^^^^^^^^^^^^^^^^^^^^^
28
29 .. code:: bash
30
31 rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
32 rabbitmq-server -detached
33
34 Arrêter RabbitMQ
35 ^^^^^^^^^^^^^^^^
36
37 .. code:: bash
38
39 rabbitmqctl stop
40
41 Configurer RabbitMQ dans wallabag
42 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43
44 Modifiez votre fichier ``app/config/parameters.yml`` pour éditer la configuration RabbitMQ. Celle par défaut devrait convenir :
45
46 .. code:: yaml
47
48 rabbitmq_host: localhost
49 rabbitmq_port: 5672
50 rabbitmq_user: guest
51 rabbitmq_password: guest
52 rabbitmq_prefetch_count: 10 # lire http://www.rabbitmq.com/consumer-prefetch.html
53
54 Activer RabbitMQ dans wallabag
55 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
56
57 Dans les paramètres internes, section **Import**, activez RabbitMQ (avec la valeur 1).
58
59 Démarrer les clients RabbitMQ
60 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
61
62 En fonction du service dont vous souhaitez importer vos données, vous devez activer un (ou plusieurs si vous souhaitez en supporter plusieurs) cron job :
63
64 .. code:: bash
65
66 # for Pocket import
67 bin/console rabbitmq:consumer -e=prod import_pocket -w
68
69 # for Readability import
70 bin/console rabbitmq:consumer -e=prod import_readability -w
71
72 # for Instapaper import
73 bin/console rabbitmq:consumer -e=prod import_instapaper -w
74
75 # for wallabag v1 import
76 bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
77
78 # for wallabag v2 import
79 bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
80
81 # for Firefox import
82 bin/console rabbitmq:consumer -e=prod import_firefox -w
83
84 # for Chrome import
85 bin/console rabbitmq:consumer -e=prod import_chrome -w
86
87 Installer Redis pour des tâches asynchrones
88 -------------------------------------------
89
90 Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser Redis.
91
92 Pré-requis
93 ^^^^^^^^^^
94
95 Vous devez installer Redis sur votre serveur.
96
97 Installation
98 ^^^^^^^^^^^^
99
100 .. code:: bash
101
102 apt-get install redis-server
103
104 Démarrage
105 ^^^^^^^^^
106
107 Le serveur devrait déjà être démarré après l'installation. Si ce n'est pas le cas, vous pouvez le démarrer ainsi :
108
109 .. code:: bash
110
111 redis-server
112
113 Configurer Redis dans wallabag
114 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
115
116 Modifiez votre fichier ``app/config/parameters.yml`` pour éditer la configuration Redis. Celle par défaut devrait convenir :
117
118 .. code:: yaml
119
120 redis_host: localhost
121 redis_port: 6379
122
123 Activer Redis dans wallabag
124 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
125
126 Dans les paramètres internes, section **Import**, activez Redis (avec la valeur 1).
127
128 Démarrer les clients Redis
129 ^^^^^^^^^^^^^^^^^^^^^^^^^^
130
131 En fonction du service dont vous souhaitez importer vos données, vous devez activer un (ou plusieurs si vous souhaitez en supporter plusieurs) cron job :
132
133 .. code:: bash
134
135 # for Pocket import
136 bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
137
138 # for Readability import
139 bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
140
141 # for Instapaper import
142 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
143
144 # for wallabag v1 import
145 bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
146
147 # for wallabag v2 import
148 bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
149
150 # for Firefox import
151 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
152
153 # for Chrome import
154 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
155
156 Si vous souhaitez démarrer l'import pour quelques messages uniquement, vous pouvez spécifier cette valeur en paramètre (ici 12) et le client va s'arrêter après le 12ème message :
157
158 .. code:: bash
159
160 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12