]> git.immae.eu Git - github/wallabag/wallabag.git/blame - docs/fr/developer/asynchronous.rst
Merge pull request #3167 from wallabag/doc-github-template
[github/wallabag/wallabag.git] / docs / fr / developer / asynchronous.rst
CommitLineData
bb624c02
NL
1Tâches asynchrones
2==================
3
4Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser RabbitMQ ou Redis.
5
6Installer RabbitMQ pour des tâches asynchrones
7----------------------------------------------
8
9Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser RabbitMQ.
10
11Pré-requis
12^^^^^^^^^^
13
14Vous devez installer RabbitMQ sur votre serveur.
15
16Installation
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
26Configuration 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
34Arrêter RabbitMQ
35^^^^^^^^^^^^^^^^
36
37.. code:: bash
38
39 rabbitmqctl stop
40
41Configurer RabbitMQ dans wallabag
42^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43
44Modifiez 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
881b0578 52 rabbitmq_prefetch_count: 10 # lire http://www.rabbitmq.com/consumer-prefetch.html
bb624c02
NL
53
54Activer RabbitMQ dans wallabag
55^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
56
57Dans les paramètres internes, section **Import**, activez RabbitMQ (avec la valeur 1).
58
59Démarrer les clients RabbitMQ
60^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
61
62En 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
87Installer Redis pour des tâches asynchrones
88-------------------------------------------
89
90Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser Redis.
91
92Pré-requis
93^^^^^^^^^^
94
95Vous devez installer Redis sur votre serveur.
96
97Installation
98^^^^^^^^^^^^
99
100.. code:: bash
101
102 apt-get install redis-server
103
104Démarrage
105^^^^^^^^^
106
107Le 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
113Configurer Redis dans wallabag
114^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
115
116Modifiez 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
123Activer Redis dans wallabag
124^^^^^^^^^^^^^^^^^^^^^^^^^^^
125
126Dans les paramètres internes, section **Import**, activez Redis (avec la valeur 1).
127
128Démarrer les clients Redis
129^^^^^^^^^^^^^^^^^^^^^^^^^^
130
131En 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
b46e63fc 154 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
bb624c02
NL
155
156Si 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