use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JobStartedEvent {
pub job_id: String,
#[deprecated(note = "Use trace_ctx instead. Will be removed when all consumers migrate.")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub worker_id: Option<String>,
#[deprecated(
note = "Use attempt_id/trial_id instead. Will be removed when all consumers migrate."
)]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt_count: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trace_ctx: Option<stack_ids::TraceCtx>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt_id: Option<stack_ids::AttemptId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trial_id: Option<stack_ids::TrialId>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JobCompletedEvent {
pub job_id: String,
pub output: Option<String>,
#[deprecated(note = "Use trace_ctx instead. Will be removed when all consumers migrate.")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub worker_id: Option<String>,
#[deprecated(
note = "Use attempt_id/trial_id instead. Will be removed when all consumers migrate."
)]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt_count: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trace_ctx: Option<stack_ids::TraceCtx>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt_id: Option<stack_ids::AttemptId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trial_id: Option<stack_ids::TrialId>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JobFailedEvent {
pub job_id: String,
pub error: String,
#[deprecated(note = "Use trace_ctx instead. Will be removed when all consumers migrate.")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub worker_id: Option<String>,
#[deprecated(
note = "Use attempt_id/trial_id instead. Will be removed when all consumers migrate."
)]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt_count: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub failure_class: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub next_retry_at: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trace_ctx: Option<stack_ids::TraceCtx>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt_id: Option<stack_ids::AttemptId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trial_id: Option<stack_ids::TrialId>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JobProgressEvent {
pub job_id: String,
pub current_step: u32,
pub total_steps: u32,
pub progress: f64,
#[deprecated(note = "Use trace_ctx instead. Will be removed when all consumers migrate.")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub worker_id: Option<String>,
#[deprecated(
note = "Use attempt_id/trial_id instead. Will be removed when all consumers migrate."
)]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt_count: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trace_ctx: Option<stack_ids::TraceCtx>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt_id: Option<stack_ids::AttemptId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trial_id: Option<stack_ids::TrialId>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct JobCancelledEvent {
pub job_id: String,
#[deprecated(note = "Use trace_ctx instead. Will be removed when all consumers migrate.")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub worker_id: Option<String>,
#[deprecated(
note = "Use attempt_id/trial_id instead. Will be removed when all consumers migrate."
)]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt_count: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trace_ctx: Option<stack_ids::TraceCtx>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attempt_id: Option<stack_ids::AttemptId>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trial_id: Option<stack_ids::TrialId>,
}