]> git.immae.eu Git - github/wallabag/wallabag.git/blob - docs/fr/developer/asynchronous.rst
Reordered :fr: documentation
[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
53 Activer RabbitMQ dans wallabag
54 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
56 Dans les paramètres internes, section **Import**, activez RabbitMQ (avec la valeur 1).
57
58 Démarrer les clients RabbitMQ
59 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
60
61 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 :
62
63 .. code:: bash
64
65 # for Pocket import
66 bin/console rabbitmq:consumer -e=prod import_pocket -w
67
68 # for Readability import
69 bin/console rabbitmq:consumer -e=prod import_readability -w
70
71 # for Instapaper import
72 bin/console rabbitmq:consumer -e=prod import_instapaper -w
73
74 # for wallabag v1 import
75 bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
76
77 # for wallabag v2 import
78 bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
79
80 # for Firefox import
81 bin/console rabbitmq:consumer -e=prod import_firefox -w
82
83 # for Chrome import
84 bin/console rabbitmq:consumer -e=prod import_chrome -w
85
86 Installer Redis pour des tâches asynchrones
87 -------------------------------------------
88
89 Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser Redis.
90
91 Pré-requis
92 ^^^^^^^^^^
93
94 Vous devez installer Redis sur votre serveur.
95
96 Installation
97 ^^^^^^^^^^^^
98
99 .. code:: bash
100
101 apt-get install redis-server
102
103 Démarrage
104 ^^^^^^^^^
105
106 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 :
107
108 .. code:: bash
109
110 redis-server
111
112 Configurer Redis dans wallabag
113 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
114
115 Modifiez votre fichier ``app/config/parameters.yml`` pour éditer la configuration Redis. Celle par défaut devrait convenir :
116
117 .. code:: yaml
118
119 redis_host: localhost
120 redis_port: 6379
121
122 Activer Redis dans wallabag
123 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
124
125 Dans les paramètres internes, section **Import**, activez Redis (avec la valeur 1).
126
127 Démarrer les clients Redis
128 ^^^^^^^^^^^^^^^^^^^^^^^^^^
129
130 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 :
131
132 .. code:: bash
133
134 # for Pocket import
135 bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
136
137 # for Readability import
138 bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
139
140 # for Instapaper import
141 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
142
143 # for wallabag v1 import
144 bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
145
146 # for wallabag v2 import
147 bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
148
149 # for Firefox import
150 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
151
152 # for Chrome import
153 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-chrome.log
154
155 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 :
156
157 .. code:: bash
158
159 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12