]> git.immae.eu Git - github/wallabag/wallabag.git/blob - docs/de/developer/asynchronous.rst
Fix tests
[github/wallabag/wallabag.git] / docs / de / developer / asynchronous.rst
1 Asynchrone Aufgaben
2 ===================
3
4 Um große asynchrone Aufgaben zu starten (etwa für große Importe), können wir RabbitMQ oder Redis nutzen.
5
6 Installation von RabbitMQ für asynchrone Aufgaben
7 -------------------------------------------------
8
9 Voraussetzungen
10 ^^^^^^^^^^^^^^^
11
12 Du musst RabbitMQ auf deinem Server installiert haben.
13
14 Installation
15 ^^^^^^^^^^^^
16
17 .. code:: bash
18
19 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
20 apt-key add rabbitmq-signing-key-public.asc
21 apt-get update
22 apt-get install rabbitmq-server
23
24 Konfiguration und Start
25 ^^^^^^^^^^^^^^^^^^^^^^^
26
27 .. code:: bash
28
29 rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
30 rabbitmq-server -detached
31
32 RabbitMQ stoppen
33 ^^^^^^^^^^^^^^^^
34
35 .. code:: bash
36
37 rabbitmqctl stop
38
39 RabbitMQ für wallabag konfigurieren
40 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
41
42 Bearbeite deine ``app/config/parameters.yml``-Datei, um die RabbitMQ-Parameter zu ändern. Die Standardwerte sollten in Ordnung sein:
43
44 .. code:: yaml
45
46 rabbitmq_host: localhost
47 rabbitmq_port: 5672
48 rabbitmq_user: guest
49 rabbitmq_password: guest
50 rabbitmq_prefetch_count: 10 # lesen http://www.rabbitmq.com/consumer-prefetch.html
51
52 RabbitMQ in wallabag aktivieren
53 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
54
55 In den internen Einstellungen, aktiviere RabbitMQ im Import-Abschnitt mit dem Wert 1.
56
57 Starte den RabbitMQ-Consumer
58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
59
60 Abhängig davon, über welchen Service du importieren möchtest, musst du den entsprechenden (oder mehrere) Cronjob aktivieren:
61
62 .. code:: bash
63
64 # für den Pocket-Import
65 bin/console rabbitmq:consumer -e=prod import_pocket -w
66
67 # für den Readability-Import
68 bin/console rabbitmq:consumer -e=prod import_readability -w
69
70 # für den Instapaper-Import
71 bin/console rabbitmq:consumer -e=prod import_instapaper -w
72
73 # für den wallabag v1-Import
74 bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
75
76 # für den wallabag v2-Import
77 bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
78
79 # für den Firefox-Import
80 bin/console rabbitmq:consumer -e=prod import_firefox -w
81
82 # für den Chrome-Import
83 bin/console rabbitmq:consumer -e=prod import_chrome -w
84
85 Redis für asynchrone Aufgaben installieren
86 ------------------------------------------
87
88 Um große asynchrone Aufgaben zu starten (etwa für große Importe), können wir auch Redis nutzen.
89
90 Voraussetzungen
91 ^^^^^^^^^^^^^^^
92
93 Du musst Redis auf deinem Server installiert haben.
94
95 Installation
96 ^^^^^^^^^^^^
97
98 .. code:: bash
99
100 apt-get install redis-server
101
102 Start
103 ^^^^^
104
105 Der Server kann bereits nach der Installation laufen, falls nicht, kannst du ihn wie folgt starten:
106
107 .. code:: bash
108
109 redis-server
110
111
112 Redis für wallabag konfigurieren
113 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
114
115 Bearbeite deine ``app/config/parameters.yml``-Datei, um die Redis-Parameter zu ändern. Die Standardwerte sollten in Ordnung sein:
116
117 .. code:: yaml
118
119 redis_host: localhost
120 redis_port: 6379
121
122 Redis in wallabag aktivieren
123 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
124
125 In den internen Einstellungen, aktiviere Redis im Import-Abschnitt mit dem Wert 1.
126
127 Starten des Redis-Consumer
128 ^^^^^^^^^^^^^^^^^^^^^^^^^^
129
130 Abhängig davon, über welchen Service du importieren möchtest, musst du den entsprechenden (oder mehrere) Cronjob aktivieren:
131
132 .. code:: bash
133
134 # für den Pocket-Import
135 bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
136
137 # für den Readability-Import
138 bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
139
140 # für den Instapaper-Import
141 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
142
143 # für den 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 # für den 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 # für den Firefox-Import
150 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
151
152 # für den Chrome-Import
153 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
154
155 Wenn du den Import nur für einige Artikel nutzen willst, kannst du die Nummer festlegen (hier: 12) und der Consumer wird nach dem zwölften Artikel aufhören:
156
157 .. code:: bash
158
159 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12