stable

Clone or download

Read-only

feat: Async events queue is now backed by the DB instead of Redis

This will allow us to rely on the async events everywhere as they will not rely anymore on an optional piece of architecture and make the deployments easier. This is enabled by default but a temporary feature flag is available to disable it in case of troubles. Part of request #37566: Support the async event queue using the DB instead of Redis Change-Id: If834d826d5e8d15cbe772c70c977fda11862f0d3

Modified Files

Name
M plugins/fts_common/tests/unit/Index/Asynchronous/IndexItemTaskTest.php +13 −12 Go to diff View file
M plugins/fts_common/tests/unit/Index/Asynchronous/IndexingWorkerEventDispatcherTest.php +4 −3 Go to diff View file
M plugins/fts_common/tests/unit/Index/Asynchronous/RemoveItemsFromIndexTaskTest.php +13 −12 Go to diff View file
M plugins/git/tests/unit/Hook/Asynchronous/AsynchronousEventHandlerTest.php +12 −8 Go to diff View file
M plugins/git/tests/unit/Hook/Asynchronous/DefaultBranchPushParserTest.php +8 −4 Go to diff View file
M plugins/mediawiki_standalone/tests/unit/Configuration/MediaWikiAsyncInstallAndUpdateProcessorTest.php +19 −2 Go to diff View file
M plugins/mediawiki_standalone/tests/unit/Instance/InstanceManagementTest.php +19 −18 Go to diff View file
M plugins/mediawiki_standalone/tests/unit/Instance/Migration/MigrateInstanceTest.php +10 −9 Go to diff View file
M plugins/program_management/tests/unit/Adapter/Events/IterationUpdateEventProxyTest.php +26 −25 Go to diff View file
M plugins/program_management/tests/unit/Adapter/Events/ProgramIncrementCreationEventProxyTest.php +38 −24 Go to diff View file
M plugins/program_management/tests/unit/Adapter/Events/ProgramIncrementUpdateEventProxyTest.php +31 −21 Go to diff View file
M plugins/program_management/tests/unit/Adapter/Events/TeamSynchronizationEventProxyTest.php +26 −16 Go to diff View file
M plugins/program_management/tests/unit/Domain/Program/Backlog/AsynchronousCreation/ProgramIncrementCreationEventHandlerTest.php +5 −4 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Artifact/Changeset/PostCreation/AsynchronousActionsRunnerTest.php +24 −23 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Creation/JiraImporter/AsynchronousJiraRunnerTest.php +17 −4 Go to diff View file
M src/common/Config/GetConfigKeys.php +2 −0 Go to diff View file
A src/common/Queue/DB/DBPersistentQueue.php +158 −0 Go to diff View file
A src/common/Queue/DB/DBPersistentQueueDAO.php +101 −0 Go to diff View file
M src/common/Queue/PersistentQueue.php +1 −1 Go to diff View file
M src/common/Queue/QueueFactory.php +13 −0 Go to diff View file
M src/common/Queue/Redis/RedisPersistentQueue.php +3 −2 Go to diff View file
M src/common/Queue/TaskWorker/TaskWorker.php +3 −1 Go to diff View file
M src/common/Queue/TaskWorker/TaskWorkerProcess.php +33 −9 Go to diff View file
M src/common/Queue/TaskWorker/TaskWorkerProcessCommand.php +9 −2 Go to diff View file
M src/common/Queue/Worker.php +5 −5 Go to diff View file
M src/common/Queue/WorkerAvailability.php +5 −1 Go to diff View file
M src/common/Queue/WorkerEvent.php +7 −25 Go to diff View file
A src/common/Queue/WorkerEventContent.php +35 −0 Go to diff View file
M src/composer.json +1 −0 Go to diff View file
M src/composer.lock +182 −1 Go to diff View file
M src/db/mysql/database_structure.sql +10 −0 Go to diff View file
A src/db/mysql/updates/2024/202403271630_add_async_events_table.php +47 −0 Go to diff View file
M src/utils/tuleap.php +1 −0 Go to diff View file
M tests/unit/common/Project/Registration/Template/Upload/ExtractArchiveAndCreateProjectTest.php +50 −52 Go to diff View file
M tests/unit/common/Queue/TaskWorker/TaskWorkerProcessCommandTest.php +5 −5 Go to diff View file
M tests/unit/common/Queue/WorkerEventProcessorFinderTest.php +5 −8 Go to diff View file