Guides
Concurrency
BLAST is “multi-tenant”
What you need to know
Since BLAST automatically runs tasks concurrently, the only thing you may need to set is constraints:
Task Lifecycle
Every task in BLAST goes through several stages:
- Creation: Task is scheduled and assigned a unique ID
- Resource Allocation: Browser and other resources are assigned
- Execution: Task runs and streams progress updates
- Completion: Results are stored and resources are freed
Task Relationships
BLAST supports two types of task relationships:
Prerequisites
Tasks can depend on other tasks completing first:
Parent/Child Tasks
Tasks can spawn subtasks that run concurrently:
Task Priorities
BLAST prioritizes tasks in this order:
- Tasks with cached results
- Tasks with cached execution plans
- Subtasks of running tasks
- Tasks with paused executors
- Remaining tasks (FIFO order)
Concurrent Execution
BLAST can execute multiple tasks concurrently when resources allow:
Resource Management
BLAST automatically manages resources for concurrent tasks:
- Limits concurrent browser instances
- Reuses browsers when possible
- Manages memory usage
- Handles cleanup on task completion
Monitor resource usage:
Task State Management
Track task states through the API:
Next Steps
- Learn about how BLAST automatically parallelizes
- Explore Caching to optimize task execution
- Configure Settings and Constraints