The primary interface for implementing custom strategies:
type Executor interface {
Execute(ctx context.Context, req *entity.ExecuteTaskReq) (*entity.ExecuteTaskResp, error)
}
- Temporal Scheduler: Manages schedule creation and trigger handling
- Activity Executor: Handles strategy execution and lifecycle management
- State Manager: Maintains execution state and handles persistence
- Error Handler: Implements retry mechanisms and failure recovery
- Implement the
Executor
interface - Process incoming
ExecuteTaskReq
- Return execution results via
ExecuteTaskResp
- Strategies are automatically registered with Temporal
- Schedules are created based on subscription configurations
- Execution is triggered according to defined intervals
- Schedule creation and management
- Trigger processing and distribution
- Execution window management
- Activity lifecycle management
- State persistence
- Error handling and retries
- Result processing
- Workload distribution
- Execution throttling
- Resource allocation
- Implement atomic, single-responsibility strategies
- Utilize provided context for execution control
- Handle edge cases within strategy implementation
- Return structured responses via
ExecuteTaskResp
- Strategies are executed as Temporal activities
- Built-in support for parallel execution
- Automatic resource scaling