stable

Clone or download

Read-only

Process each async event individually

Most of the code of Tuleap expects to have the state cleaned between two requests. This is contribution makes sure that each event is processed in its own process. This is first approach to quickly solve the issue, we could extend it by publishing the message to the PHP FPM pool used to deal with long running requests. This would be closer to the usual model expected by the Tuleap codebase and we would get the same benefits than the "classic" web queries (OPCache, same tooling, battle tested process management...). Part of request #13666: Worker running the asynchronous event might work on outdated data Change-Id: I3d53bd535eb9b805a553215c523ac9fc8959f0f5

Modified Files

Name
M src/common/Queue/Redis/RedisPersistentQueue.php +1 −1 Go to diff View file
A src/common/Queue/TaskWorker/TaskWorker.php +28 −0 Go to diff View file
A src/common/Queue/TaskWorker/TaskWorkerProcess.php +43 −0 Go to diff View file
A src/common/Queue/TaskWorker/TaskWorkerProcessCommand.php +74 −0 Go to diff View file
M src/common/Queue/Worker.php +5 −9 Go to diff View file
M src/utils/tuleap.php +15 −1 Go to diff View file
A tests/phpunit/common/Queue/TaskWorker/TaskWorkerProcessCommandTest.php +82 −0 Go to diff View file