pub trait EventEmitter: Send + Sync {
// Provided methods
fn on_worker_started(&self, _runner_id: &RunnerId) { ... }
fn on_worker_shutdown(&self, _runner_id: &RunnerId) { ... }
fn on_task_submitted(&self, _task_id: &TaskId, _inv_id: &InvocationId) { ... }
fn on_task_started(&self, _task_id: &TaskId, _inv_id: &InvocationId) { ... }
fn on_task_succeeded(
&self,
_task_id: &TaskId,
_inv_id: &InvocationId,
_duration: Duration,
) { ... }
fn on_task_failed(
&self,
_task_id: &TaskId,
_inv_id: &InvocationId,
_error: &str,
_duration: Duration,
) { ... }
fn on_task_retried(
&self,
_task_id: &TaskId,
_inv_id: &InvocationId,
_attempt: u32,
) { ... }
fn on_queue_depth(&self, _queue: &str, _depth: usize) { ... }
fn on_cc_rejected(&self, _task_id: &TaskId) { ... }
fn on_cc_slot_acquired(&self, _task_id: &TaskId) { ... }
fn on_cc_slot_released(&self, _task_id: &TaskId) { ... }
}Expand description
Observable events emitted during task lifecycle.
Each method corresponds to one event in the event taxonomy. The default implementation is a no-op, allowing the compiler to inline and eliminate calls when no monitoring feature is enabled.
§Levels
| Method | Level |
|---|---|
on_worker_started, on_worker_shutdown | 0 (WorkerHealth) |
on_task_submitted .. on_task_retried | 1 (TaskLifecycle) |
on_queue_depth, on_cc_rejected | 2 (QueueConcurrency) |
Provided Methods§
Sourcefn on_worker_started(&self, _runner_id: &RunnerId)
fn on_worker_started(&self, _runner_id: &RunnerId)
A runner process has started.
Sourcefn on_worker_shutdown(&self, _runner_id: &RunnerId)
fn on_worker_shutdown(&self, _runner_id: &RunnerId)
A runner process is shutting down.
Sourcefn on_task_submitted(&self, _task_id: &TaskId, _inv_id: &InvocationId)
fn on_task_submitted(&self, _task_id: &TaskId, _inv_id: &InvocationId)
A task invocation was submitted to the system.
Sourcefn on_task_started(&self, _task_id: &TaskId, _inv_id: &InvocationId)
fn on_task_started(&self, _task_id: &TaskId, _inv_id: &InvocationId)
A runner began executing a task invocation.
Sourcefn on_task_succeeded(
&self,
_task_id: &TaskId,
_inv_id: &InvocationId,
_duration: Duration,
)
fn on_task_succeeded( &self, _task_id: &TaskId, _inv_id: &InvocationId, _duration: Duration, )
A task invocation completed successfully.
Sourcefn on_task_failed(
&self,
_task_id: &TaskId,
_inv_id: &InvocationId,
_error: &str,
_duration: Duration,
)
fn on_task_failed( &self, _task_id: &TaskId, _inv_id: &InvocationId, _error: &str, _duration: Duration, )
A task invocation failed (final failure, retries exhausted).
Sourcefn on_task_retried(
&self,
_task_id: &TaskId,
_inv_id: &InvocationId,
_attempt: u32,
)
fn on_task_retried( &self, _task_id: &TaskId, _inv_id: &InvocationId, _attempt: u32, )
A task invocation is being retried.
Sourcefn on_queue_depth(&self, _queue: &str, _depth: usize)
fn on_queue_depth(&self, _queue: &str, _depth: usize)
Current queue depth snapshot.
Sourcefn on_cc_rejected(&self, _task_id: &TaskId)
fn on_cc_rejected(&self, _task_id: &TaskId)
Concurrency control rejected an invocation registration.
Sourcefn on_cc_slot_acquired(&self, _task_id: &TaskId)
fn on_cc_slot_acquired(&self, _task_id: &TaskId)
A concurrency slot was successfully acquired.
Sourcefn on_cc_slot_released(&self, _task_id: &TaskId)
fn on_cc_slot_released(&self, _task_id: &TaskId)
A concurrency slot was released (invocation reached terminal state).