Page MenuHomeSoftware Heritage

tasks-git-loader.uml
No OneTemporary

tasks-git-loader.uml

@startuml
participant SCH_DB as "scheduler DB" #B0C4DE
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" #B0C4DE
participant STORAGE_API as "storage API"
participant WORK_GIT as "worker@loader-git"
participant GIT as "git server"
Note over SCH_DB,SCH_RUN: Task T2 created beforehand \n 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
activate WORK_GIT
WORK_GIT->>STORAGE_API: GET origin state
activate STORAGE_API
STORAGE_API-->>WORK_GIT: 200
deactivate STORAGE_API
WORK_GIT->>GIT: GET refs
activate GIT
GIT->>WORK_GIT: 200 / refs
deactivate GIT
WORK_GIT->>GIT: GET new_objects
activate GIT
GIT->>WORK_GIT: 200 / objects
deactivate GIT
WORK_GIT->>GIT: PACKFILE
activate GIT
GIT->>WORK_GIT: 200 / blobs
deactivate GIT
WORK_GIT->>STORAGE_API: LOAD NEW CONTENT
activate STORAGE_API
loop For each blob
STORAGE_API->>OBJSTORE: ADD BLOB
end
STORAGE_API-->>WORK_GIT: 200 / blobs
deactivate STORAGE_API
WORK_GIT->>STORAGE_API: NEW DIR
activate STORAGE_API
loop For each DIR
STORAGE_API->>STORAGE_DB: INSERT DIR
end
STORAGE_API-->>WORK_GIT: 201
deactivate STORAGE_API
WORK_GIT->>STORAGE_API: NEW REV
activate STORAGE_API
loop For each REV
STORAGE_API->>STORAGE_DB: INSERT REV
end
STORAGE_API-->>WORK_GIT: 201
deactivate STORAGE_API
WORK_GIT->>STORAGE_API: NEW REL
activate STORAGE_API
loop For each REL
STORAGE_API->>STORAGE_DB: INSERT REL
end
STORAGE_API-->>WORK_GIT: 201
deactivate STORAGE_API
WORK_GIT->>STORAGE_API: NEW SNAPSHOT
activate STORAGE_API
loop For each SNAPSHOT
STORAGE_API->>STORAGE_DB: INSERT SNAPSHOT
end
STORAGE_API-->>WORK_GIT: 201
deactivate STORAGE_API
WORK_GIT-->>RMQ: SET CT2 status=eventful
deactivate WORK_GIT
activate RMQ
RMQ->>SCH_LS: NOTIFY end of task CT2
deactivate RMQ
activate SCH_LS
SCH_LS->>SCH_DB: UPDATE T2 set state=end
deactivate SCH_LS
@enduml

File Metadata

Mime Type
text/plain
Expires
Wed, Jun 4, 7:21 PM (5 d, 4 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3270267

Event Timeline