1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(rename_all = "camelCase")]
21pub struct JobStartedEvent {
22 pub job_id: String,
23 #[deprecated(note = "Use trace_ctx instead. Will be removed when all consumers migrate.")]
27 #[serde(default, skip_serializing_if = "Option::is_none")]
28 pub trace_id: Option<String>,
29 #[serde(default, skip_serializing_if = "Option::is_none")]
30 pub worker_id: Option<String>,
31 #[deprecated(
35 note = "Use attempt_id/trial_id instead. Will be removed when all consumers migrate."
36 )]
37 #[serde(default, skip_serializing_if = "Option::is_none")]
38 pub attempt_count: Option<u32>,
39 #[serde(default, skip_serializing_if = "Option::is_none")]
40 pub status: Option<String>,
41 #[serde(default, skip_serializing_if = "Option::is_none")]
43 pub trace_ctx: Option<stack_ids::TraceCtx>,
44 #[serde(default, skip_serializing_if = "Option::is_none")]
46 pub attempt_id: Option<stack_ids::AttemptId>,
47 #[serde(default, skip_serializing_if = "Option::is_none")]
49 pub trial_id: Option<stack_ids::TrialId>,
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize)]
54#[serde(rename_all = "camelCase")]
55pub struct JobCompletedEvent {
56 pub job_id: String,
57 pub output: Option<String>,
58 #[deprecated(note = "Use trace_ctx instead. Will be removed when all consumers migrate.")]
62 #[serde(default, skip_serializing_if = "Option::is_none")]
63 pub trace_id: Option<String>,
64 #[serde(default, skip_serializing_if = "Option::is_none")]
65 pub worker_id: Option<String>,
66 #[deprecated(
70 note = "Use attempt_id/trial_id instead. Will be removed when all consumers migrate."
71 )]
72 #[serde(default, skip_serializing_if = "Option::is_none")]
73 pub attempt_count: Option<u32>,
74 #[serde(default, skip_serializing_if = "Option::is_none")]
75 pub status: Option<String>,
76 #[serde(default, skip_serializing_if = "Option::is_none")]
78 pub trace_ctx: Option<stack_ids::TraceCtx>,
79 #[serde(default, skip_serializing_if = "Option::is_none")]
81 pub attempt_id: Option<stack_ids::AttemptId>,
82 #[serde(default, skip_serializing_if = "Option::is_none")]
84 pub trial_id: Option<stack_ids::TrialId>,
85}
86
87#[derive(Debug, Clone, Serialize, Deserialize)]
89#[serde(rename_all = "camelCase")]
90pub struct JobFailedEvent {
91 pub job_id: String,
92 pub error: String,
93 #[deprecated(note = "Use trace_ctx instead. Will be removed when all consumers migrate.")]
97 #[serde(default, skip_serializing_if = "Option::is_none")]
98 pub trace_id: Option<String>,
99 #[serde(default, skip_serializing_if = "Option::is_none")]
100 pub worker_id: Option<String>,
101 #[deprecated(
105 note = "Use attempt_id/trial_id instead. Will be removed when all consumers migrate."
106 )]
107 #[serde(default, skip_serializing_if = "Option::is_none")]
108 pub attempt_count: Option<u32>,
109 #[serde(default, skip_serializing_if = "Option::is_none")]
110 pub status: Option<String>,
111 #[serde(default, skip_serializing_if = "Option::is_none")]
112 pub failure_class: Option<String>,
113 #[serde(default, skip_serializing_if = "Option::is_none")]
114 pub next_retry_at: Option<String>,
115 #[serde(default, skip_serializing_if = "Option::is_none")]
117 pub trace_ctx: Option<stack_ids::TraceCtx>,
118 #[serde(default, skip_serializing_if = "Option::is_none")]
120 pub attempt_id: Option<stack_ids::AttemptId>,
121 #[serde(default, skip_serializing_if = "Option::is_none")]
123 pub trial_id: Option<stack_ids::TrialId>,
124}
125
126#[derive(Debug, Clone, Serialize, Deserialize)]
128#[serde(rename_all = "camelCase")]
129pub struct JobProgressEvent {
130 pub job_id: String,
131 pub current_step: u32,
132 pub total_steps: u32,
133 pub progress: f64,
134 #[deprecated(note = "Use trace_ctx instead. Will be removed when all consumers migrate.")]
138 #[serde(default, skip_serializing_if = "Option::is_none")]
139 pub trace_id: Option<String>,
140 #[serde(default, skip_serializing_if = "Option::is_none")]
141 pub worker_id: Option<String>,
142 #[deprecated(
146 note = "Use attempt_id/trial_id instead. Will be removed when all consumers migrate."
147 )]
148 #[serde(default, skip_serializing_if = "Option::is_none")]
149 pub attempt_count: Option<u32>,
150 #[serde(default, skip_serializing_if = "Option::is_none")]
151 pub status: Option<String>,
152 #[serde(default, skip_serializing_if = "Option::is_none")]
154 pub trace_ctx: Option<stack_ids::TraceCtx>,
155 #[serde(default, skip_serializing_if = "Option::is_none")]
157 pub attempt_id: Option<stack_ids::AttemptId>,
158 #[serde(default, skip_serializing_if = "Option::is_none")]
160 pub trial_id: Option<stack_ids::TrialId>,
161}
162
163#[derive(Debug, Clone, Serialize, Deserialize)]
165#[serde(rename_all = "camelCase")]
166pub struct JobCancelledEvent {
167 pub job_id: String,
168 #[deprecated(note = "Use trace_ctx instead. Will be removed when all consumers migrate.")]
172 #[serde(default, skip_serializing_if = "Option::is_none")]
173 pub trace_id: Option<String>,
174 #[serde(default, skip_serializing_if = "Option::is_none")]
175 pub worker_id: Option<String>,
176 #[deprecated(
180 note = "Use attempt_id/trial_id instead. Will be removed when all consumers migrate."
181 )]
182 #[serde(default, skip_serializing_if = "Option::is_none")]
183 pub attempt_count: Option<u32>,
184 #[serde(default, skip_serializing_if = "Option::is_none")]
185 pub status: Option<String>,
186 #[serde(default, skip_serializing_if = "Option::is_none")]
188 pub trace_ctx: Option<stack_ids::TraceCtx>,
189 #[serde(default, skip_serializing_if = "Option::is_none")]
191 pub attempt_id: Option<stack_ids::AttemptId>,
192 #[serde(default, skip_serializing_if = "Option::is_none")]
194 pub trial_id: Option<stack_ids::TrialId>,
195}