Overview
By default, pipelines run as long-running deployments that continuously process data. Job mode allows you to run a pipeline as a one-time task that runs to completion and then exits.When to Use Job Mode
Use job mode for:- Historical data backfills: Process a specific range of historical data once
- One-time data migrations: Move data from one system to another
- Scheduled batch processing: Run as a cron job for periodic processing
- Testing and development: Quick runs without maintaining a long-running deployment
Configuration
Addjob: true to your pipeline configuration:
Job Behavior
Whenjob: true is set:
- Runs to Completion: The pipeline processes all available data and then exits
- No Restarts: Failed jobs do not automatically restart (unlike deployments)
- Auto-Cleanup: Jobs are automatically deleted 1 hour after termination (success or failure)
- Cannot Switch: Once deployed as a job, you cannot update to a deployment without deleting it first
Example: EVM Historical Backfill
Process a specific range of Ethereum blocks:Example: Solana Block Range Processing
Process a specific range of Solana blocks:Monitoring Job Status
View job status with:Job vs Deployment
| Feature | Job (job: true) | Deployment (job: false, default) |
|---|---|---|
| Duration | Runs to completion | Continuous processing |
| Restart on failure | No | Yes (automatic) |
| Resource cleanup | Auto-deleted 1 hour after termination | Persists until deleted |
| Use case | One-time tasks, backfills | Real-time streaming |
| Update behavior | Must delete first | Can update in-place |
Best Practices
Define clear boundaries
Define clear boundaries
When using job mode, define clear start and end points for your data:
Use appropriate resource sizes
Use appropriate resource sizes
For large backfills, use larger resource sizes to process data faster:
Monitor completion
Monitor completion
Jobs auto-delete after 1 hour of termination. Monitor logs before cleanup:
Delete before redeployment
Delete before redeployment
Always delete completed jobs before redeploying: