diff --git a/.docs/content/1.concepts/2.tasks.md b/.docs/content/1.concepts/2.tasks.md index 2405b1f2b..d26c00624 100644 --- a/.docs/content/1.concepts/2.tasks.md +++ b/.docs/content/1.concepts/2.tasks.md @@ -28,3 +28,33 @@ graph TD - creation of Task Duplicate (with link for monitoring and number of retry) and transfer output creation responsibility - Task resubmission - copy of task metadata with new id + +## Status state diagram + +```mermaid +stateDiagram-v2 + [*] --> Creating: Task is created in the db + Creating --> Pending: Dependencies are not available
Creation rpc succeeds + Pending --> Submitted: Dependencies are available
Task is inserted into the queue
Session is running + Submitted --> Paused: Session is paused + Paused --> Submitted: Session is resumed + Pending --> Paused: Dependencies are available
Session is paused + Submitted --> Dispatched: Task is acquired + Dispatched --> Processing: Task is sent to the worker + Dispatched --> Submitted: Task acquisition timeout + Processing --> Completed: Task succeeds + Processing --> Error: Task fails, no retry + Processing --> Retried: Task fails, recovery possible
A new task is created + Processing --> Timeout: Task exceeds MaxDuration + Creating --> Cancelled: Task is marked as cancelled + Submitted --> Cancelled: Task is marked as cancelled + Dispatched --> Cancelled: Task is marked as cancelled + Processing --> Cancelled: Task is hardly cancelled + Paused --> Cancelled: Task is marked as cancelled + Dispatched --> Paused: Session is paused + Cancelled --> [*] + Timeout --> [*] + Completed --> [*] + Retried --> [*] + Error --> [*] +```