Compute Process Lifecycle
All compute processes — whether workflows, apps, services, or Excel add-ins — go through the same lifecycle stages from deployment to completion. Understanding these stages helps you troubleshoot issues and know what to expect.
Lifecycle Stages
fix & retry"] C -->|Yes| E["Ready"] end subgraph Run["🚀 Run"] E --> F["Pending"] F --> G["Starting"] G --> H["Running"] end subgraph Complete["✅ Complete"] H --> I["Completed"] end
Stage 1: Building
What happens: When you deploy code (using the Python SDK or CLI), Datatailr packages it into a Docker container image. This image includes your code, Python packages, and any system dependencies you specified.
What you see: The process shows status Building.
How long: Typically 1-3 minutes, depending on the number of dependencies.
Stage 2: Ready
What happens: The container image is built and stored in Datatailr's registry. Your compute process is ready to run.
What you see: The process shows status Ready.
For scheduled processes: If your process has a schedule (like "run daily at 9 AM"), it transitions to Scheduled and waits for the next scheduled time.
Stage 3: Pending
What happens: Datatailr is allocating compute resources. If all available machines are busy, Datatailr will automatically start a new compute node.
What you see: The process shows status Pending.
How long: Usually a few seconds. If a new node needs to start, this can take 1-2 minutes.
Stage 4: Starting
What happens: A compute node has been assigned. Datatailr is downloading your container image and preparing to run it.
What you see: The process shows status Starting.
Stage 5: Running
What happens: Your code is executing! For workflows, this is when your tasks run — in parallel where possible.
What you see: The process shows status Running. You can view real-time logs.
Stage 6: Completed
What happens: Your compute process finished successfully. For workflows, all tasks completed. Results are saved and available.
What you see: The process shows status Completed with a green indicator.
When Things Go Wrong
Sometimes compute processes don't complete successfully. Here's what the different failure states mean:
| Status | What It Means | What To Do |
|---|---|---|
| Created | The build failed (bad dependency, syntax error) | Check build logs, fix your code, redeploy |
| Failed | Your code threw an unhandled exception | Check logs, fix the bug, re-run |
| Out of Memory | Process exceeded its memory allocation | Increase memory in config or optimize your code |
| Expired | A scheduled process's end date has passed | Update the schedule or redeploy |
Reading logs
You can always check what happened by reading the logs:
- In the UI: Click on the process and select "Logs"
- Using CLI:
dt log read <process_name> - In Python: Use the
dt.log.read()function
Monitoring Your Compute Processes
From the Dashboard
The Datatailr dashboard shows all your compute processes with their current status. You can:
- See which processes are running, pending, or completed
- View execution history and run times
- Access logs and output
- Start, stop, or re-run processes
From the CLI
Use the dt job commands to manage compute processes:
# List all your compute processes
dt job ls
# Get details about a specific process
dt job get my_process_name
# View recent runs of a process
dt job runs my_process_name
# Read logs from a process
dt log read my_process_name
Next Steps
Now that you understand the lifecycle, you're ready to:
- Compute Processes — Learn about the different types of compute processes
- Create a Workspace — Set up your development environment
- Deploy a Workflow — Run your first data pipeline
- Explore the CLI — Master process management commands