Changeset View
Changeset View
Standalone View
Standalone View
docs/tasks-lister.mmd
- This file was added.
sequenceDiagram | |||||
participant WEB as swh-web | |||||
participant SCH_API as scheduler API | |||||
participant SCH_DB as scheduler DB | |||||
participant SCH_RUN as scheduler runner | |||||
participant RMQ as Rabbit-MQ | |||||
participant SCH_LS as scheduler listener | |||||
participant WORK_GITLAB as worker@gitlab-lister | |||||
participant GITLAB as gitlab API | |||||
participant STORAGE_API as storage API | |||||
participant STORAGE_DB as storage DB | |||||
Note over WEB,SCH_API: Save gitlab forge 0xdeadbeef | |||||
WEB->>+SCH_API: CREATE TASK lister-gitlab | |||||
SCH_API->>+SCH_DB: INSERT TASK | |||||
SCH_API-->>-WEB: 201 | |||||
loop Polling | |||||
SCH_RUN->>SCH_DB: GET TASK set state=scheduled | |||||
SCH_DB-->>-SCH_RUN: TASK id=T1 | |||||
activate SCH_RUN | |||||
SCH_RUN->>RMQ: CREATE Celery Task CT1 | |||||
deactivate SCH_RUN | |||||
activate RMQ | |||||
end | |||||
RMQ->>+WORK_GITLAB: Start task CT1 | |||||
deactivate RMQ | |||||
WORK_GITLAB->>+GITLAB: Get git repos | |||||
GITLAB-->>-WORK_GITLAB: Known git repos | |||||
loop For Each Repo | |||||
WORK_GITLAB->>+STORAGE_API: CREATE ORIGIN | |||||
WORK_GITLAB->>+SCH_API: CREATE TASK loader-git | |||||
SCH_API->>SCH_DB: INSERT TASK | |||||
SCH_API-->>-WORK_GITLAB: 201 | |||||
STORAGE_API->>STORAGE_DB: INSERT ORIGIN | |||||
STORAGE_API-->>-WORK_GITLAB: 201 | |||||
end | |||||
WORK_GITLAB-->>-RMQ: SET CT1 status=eventful | |||||
activate RMQ | |||||
RMQ->>+SCH_LS: NOTIFY end of task CT1 | |||||
deactivate RMQ | |||||
SCH_LS->>-SCH_DB: UPDATE T1 set state=end |