Changeset View
Changeset View
Standalone View
Standalone View
docs/tasks-git-loader.mmd
- This file was added.
sequenceDiagram | |||||
participant SCH_DB as scheduler DB | |||||
participant SCH_RUN as scheduler runner | |||||
participant SCH_LS as scheduler listener | |||||
participant RMQ as Rabbit-MQ | |||||
participant OBJSTORE as object storage | |||||
participant STORAGE_DB as storage DB | |||||
participant STORAGE_API as storage API | |||||
participant WORK_GIT as worker@loader-git | |||||
participant GIT as git server | |||||
Note over SCH_DB,RMQ: Task T2 created beforehand by the lister-gitlab task | |||||
loop Polling | |||||
SCH_RUN->>SCH_DB: GET TASK set state=scheduled | |||||
SCH_DB-->>SCH_RUN: TASK id=T2 | |||||
activate SCH_RUN | |||||
SCH_RUN->>RMQ: CREATE Celery Task CT2 loader-git | |||||
deactivate SCH_RUN | |||||
activate RMQ | |||||
end | |||||
RMQ->>+WORK_GIT: Start task CT2 | |||||
deactivate RMQ | |||||
WORK_GIT->>+STORAGE_API: GET origin state | |||||
STORAGE_API-->>-WORK_GIT: 200 | |||||
WORK_GIT->>+GIT: GET refs | |||||
GIT->>-WORK_GIT: 200 / refs | |||||
WORK_GIT->>+GIT: GET new_objects | |||||
GIT->>-WORK_GIT: 200 / objects | |||||
WORK_GIT->>+GIT: PACKFILE | |||||
GIT->>-WORK_GIT: 200 / blobs | |||||
WORK_GIT->>+STORAGE_API: LOAD NEW CONTENT | |||||
loop For each blob | |||||
STORAGE_API->>OBJSTORE: ADD BLOB | |||||
end | |||||
STORAGE_API-->>-WORK_GIT: 200 / blobs | |||||
WORK_GIT->>+STORAGE_API: NEW DIR | |||||
STORAGE_API->>STORAGE_DB: INSERT DIR | |||||
STORAGE_API-->>-WORK_GIT: 201 | |||||
WORK_GIT->>+STORAGE_API: NEW REV | |||||
STORAGE_API->>STORAGE_DB: INSERT REV | |||||
STORAGE_API-->>-WORK_GIT: 201 | |||||
WORK_GIT->>+STORAGE_API: NEW REL | |||||
STORAGE_API->>STORAGE_DB: INSERT REL | |||||
STORAGE_API-->>-WORK_GIT: 201 | |||||
WORK_GIT->>+STORAGE_API: NEW SNAPSHOT | |||||
STORAGE_API->>STORAGE_DB: INSERT SNAPSHOT | |||||
STORAGE_API-->>-WORK_GIT: 201 | |||||
WORK_GIT-->>-RMQ: SET CT2 status=eventful | |||||
activate RMQ | |||||
RMQ->>+SCH_LS: NOTIFY end of task CT2 | |||||
deactivate RMQ | |||||
SCH_LS->>-SCH_DB: UPDATE T2 set state=end |