stable

Clone or download

Read-only

request #11004 Replace RabbitMQ queues by Redis

TL;DR it's easier to user Redis for simple queues work. In addition to that it's easier to get a Redis up & running and it can be used for K/V & cache store. Worker changed a bit, I had to remove signal handling because it made the worker script completly blind to signal (except -9). It doesn't really have any downside as signal handling was rather poor (cannot wait for current work to finish for instance as script is not threaded). The code is designed to use Redis in tracker notification first with longer goal to remove completely RabbitMQ from the dependency list. Change-Id: I0f2e55b6abf0f1b1adb7fb95ccf505217244a5c9

Modified Files

Name
M docker-compose.yml +8 −0 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/Changeset/Notification/AsynchronousNotifier.php +11 −36 Go to diff View file
M plugins/tracker/include/Tracker/Artifact/Changeset/Notification/Notifier.php +6 −7 Go to diff View file
M plugins/tracker/include/trackerPlugin.class.php +3 −3 Go to diff View file
M src/common/Queue/Factory.php +7 −2 Go to diff View file
A src/common/Queue/QueueServerConnectionException.php +27 −0 Go to diff View file
A src/common/Queue/Redis/RedisPersistentQueue.php +149 −0 Go to diff View file
M src/common/Queue/Worker.php +15 −39 Go to diff View file
R src/common/Queue/WorkerGetQueue.php Go to diff View file
M src/common/autoload.php +5 −3 Go to diff View file
M src/etc/local.inc.dist +3 −0 Go to diff View file
A src/etc/redis.inc.dist +5 −0 Go to diff View file
M src/www/include/pre.php +1 −0 Go to diff View file