stable

Clone or download

Read-only

feat: import of project archive is now async

The extraction and import of the archive is now delegated to a worker event. This is necessary in order to later not be blocked by a timeout or a loss of db connection if the archive is big. To test, Create a project from XML, the project should be created after the worker events are processed. A check on worker availability will be added in dedicated contributions. part of story #36484 create a new project from an XML template Change-Id: Idc7205a6fd4e0a448ec5904cdaa1a1e5c8e62da2

Modified Files

Name
A src/common/Project/Registration/Template/Upload/EnqueueProjectCreationFromArchive.php +39 −0 Go to diff View file
M src/common/Project/Registration/Template/Upload/ExtractArchiveAndCreateProject.php +35 −10 Go to diff View file
A src/common/Project/Registration/Template/Upload/ProjectCreationFromArchiveTask.php +47 −0 Go to diff View file
A src/common/Queue/FindWorkerEventProcessor.php +31 −0 Go to diff View file
M src/common/Queue/TaskWorker/TaskWorkerProcessCommand.php +13 −13 Go to diff View file
A src/common/Queue/WorkerEventProcessor.php +26 −0 Go to diff View file
A src/common/Queue/WorkerEventProcessorFinder.php +48 −0 Go to diff View file
M src/common/Request/RouteCollector.php +3 −9 Go to diff View file
M src/utils/tuleap.php +2 −1 Go to diff View file
A tests/lib/Stubs/Queue/FindWorkerEventProcessorStub.php +53 −0 Go to diff View file
A tests/lib/Stubs/Queue/WorkerEventProcessorStub.php +49 −0 Go to diff View file
A tests/unit/common/Project/Registration/Template/Upload/EnqueueProjectCreationFromArchiveTest.php +39 −0 Go to diff View file
M tests/unit/common/Project/Registration/Template/Upload/ExtractArchiveAndCreateProjectTest.php +84 −6 Go to diff View file
A tests/unit/common/Project/Registration/Template/Upload/ProjectCreationFromArchiveTaskTest.php +38 −0 Go to diff View file
M tests/unit/common/Queue/TaskWorker/TaskWorkerProcessCommandTest.php +23 −2 Go to diff View file
A tests/unit/common/Queue/WorkerEventProcessorFinderTest.php +61 −0 Go to diff View file