Overview
The Execution service:- Accepts action execution requests
- Schedules actions on available workers
- Streams execution updates and results
- Supports action cache integration
- Distributed action execution
- Platform-based worker matching
- Action cache lookup
- Real-time execution monitoring
Configuration
The instance name identifying this execution endpoint
Reference to the scheduler configured in the
schedulers sectionReference to the CAS store for input/output data
gRPC Methods
Execute
Execute an action remotely. Request:The instance name
Digest of the Action message to execute
Skip action cache lookup and force execution
Execution constraints (priority, timeout)
How to cache the result
Operation messages with status updates:
Unique operation identifier
True when execution is complete
Execution status:
QUEUED: Waiting for workerEXECUTING: Running on workerCOMPLETED: Finished
Final result (when done=true):
result: ActionResult with outputsstatus: gRPC statuscached_result: True if served from cachemessage: Error message if failed
WaitExecution
Attach to an ongoing execution operation. Request:The operation name from Execute
Operation messages (same format as Execute).
Execution Flow
Platform Properties
Actions specify required worker capabilities via platform properties:Timeout Configuration
Executions can timeout at multiple levels:Maximum execution time (from client)
Retry failed actions up to N times
Worker heartbeat timeout
Error Codes
| Code | Description |
|---|---|
NOT_FOUND | Action digest not in CAS |
INVALID_ARGUMENT | Invalid action or instance name |
DEADLINE_EXCEEDED | Execution timeout |
RESOURCE_EXHAUSTED | No workers available |
FAILED_PRECONDITION | Missing inputs |
INTERNAL | Worker or storage error |
Monitoring
The execution service emits metrics:- Queue depth per instance
- Active executions
- Cache hit rate
- Execution duration
The Execution service follows the Remote Execution API v2 specification