]>
Commit | Line | Data |
---|---|---|
bb624c02 NL |
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 | |
b46e63fc | 153 | bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log |
bb624c02 NL |
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 |