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