Understanding executions
Think of the relationship this way:- Program = Recipe (the instructions)
- Execution = Cooking session (actually doing it)
Execution lifecycle
Executions move through these states:| Status | Description |
|---|---|
scheduled | Waiting for startAt time |
running | Actively processing contacts |
paused | Manually paused, can resume |
completed | All contacts processed |
stopped | Reached stopAt, remaining contacts skipped |
cancelled | Manually cancelled |
Launching an execution
Create an execution by launching a program:Monitoring progress
Check execution status and progress:Progress counters
Understanding what each counter means:| Counter | Description |
|---|---|
totalContacts | Audience size at launch (snapshot) |
contactsCompleted | Successfully reached (answered, completed flow) |
contactsFailed | Exhausted all retries |
contactsPending | Waiting to be called (includes retry queue) |
contactsInProgress | Currently being called or queued |
totalContacts:
Pausing and resuming
Pause a running execution:- No new calls are initiated
- Calls already in progress continue to completion
- Retry schedules are preserved
Cancelling executions
Stop an execution permanently:- No new calls are initiated
- Calls in progress continue to completion
- Remaining pending contacts are marked as skipped
- Cannot be resumed
Listing executions
View all executions for a program:Execution timing
Key timestamps:| Timestamp | Description |
|---|---|
scheduledStartAt | When the execution should begin |
scheduledStopAt | When the execution should stop (optional) |
actualStartAt | When calls actually started |
actualEndAt | When the last call completed |
scheduledStopAt before completing all contacts, it enters stopped status and remaining contacts are not called.
Audience snapshots
When you launch an execution, Gomobile takes a snapshot of the audience. This means:- Contacts added to the audience after launch are NOT included
- Contacts removed from the audience after launch ARE still called
- This ensures predictable behavior during execution
Multiple concurrent executions
You can’t run multiple executions of the same program simultaneously. If you try to launch while one is already running:Best practices
- Monitor progress - Check counters periodically during large campaigns
- Set stop times - Prevent executions from running indefinitely
- Use pause wisely - Good for unexpected issues, not routine stops
- Review failures - Understand why contacts failed before retrying
- Clean up - Don’t leave paused executions hanging
Related concepts
Programs
The configuration that executions run.
Retry Strategies
How failures are retried.
Call Flows
What happens during calls.