hatchet-sdk 1.12.3__py3-none-any.whl → 1.13.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of hatchet-sdk might be problematic. Click here for more details.
- hatchet_sdk/__init__.py +46 -40
- hatchet_sdk/clients/admin.py +18 -23
- hatchet_sdk/clients/dispatcher/action_listener.py +4 -3
- hatchet_sdk/clients/dispatcher/dispatcher.py +1 -4
- hatchet_sdk/clients/event_ts.py +2 -1
- hatchet_sdk/clients/events.py +16 -12
- hatchet_sdk/clients/listeners/durable_event_listener.py +4 -2
- hatchet_sdk/clients/listeners/pooled_listener.py +2 -2
- hatchet_sdk/clients/listeners/run_event_listener.py +7 -8
- hatchet_sdk/clients/listeners/workflow_listener.py +14 -6
- hatchet_sdk/clients/rest/api_response.py +3 -2
- hatchet_sdk/clients/rest/tenacity_utils.py +6 -8
- hatchet_sdk/config.py +2 -0
- hatchet_sdk/connection.py +10 -4
- hatchet_sdk/context/context.py +170 -46
- hatchet_sdk/context/worker_context.py +4 -7
- hatchet_sdk/contracts/dispatcher_pb2.py +38 -38
- hatchet_sdk/contracts/dispatcher_pb2.pyi +4 -2
- hatchet_sdk/contracts/events_pb2.py +13 -13
- hatchet_sdk/contracts/events_pb2.pyi +4 -2
- hatchet_sdk/contracts/v1/workflows_pb2.py +1 -1
- hatchet_sdk/contracts/v1/workflows_pb2.pyi +2 -2
- hatchet_sdk/exceptions.py +99 -1
- hatchet_sdk/features/cron.py +2 -2
- hatchet_sdk/features/filters.py +3 -3
- hatchet_sdk/features/runs.py +4 -4
- hatchet_sdk/features/scheduled.py +8 -9
- hatchet_sdk/hatchet.py +65 -64
- hatchet_sdk/opentelemetry/instrumentor.py +20 -20
- hatchet_sdk/runnables/action.py +1 -2
- hatchet_sdk/runnables/contextvars.py +19 -0
- hatchet_sdk/runnables/task.py +37 -29
- hatchet_sdk/runnables/types.py +9 -8
- hatchet_sdk/runnables/workflow.py +57 -42
- hatchet_sdk/utils/proto_enums.py +4 -4
- hatchet_sdk/utils/timedelta_to_expression.py +2 -3
- hatchet_sdk/utils/typing.py +11 -17
- hatchet_sdk/waits.py +6 -5
- hatchet_sdk/worker/action_listener_process.py +33 -13
- hatchet_sdk/worker/runner/run_loop_manager.py +15 -11
- hatchet_sdk/worker/runner/runner.py +102 -92
- hatchet_sdk/worker/runner/utils/capture_logs.py +72 -31
- hatchet_sdk/worker/worker.py +29 -25
- hatchet_sdk/workflow_run.py +4 -2
- {hatchet_sdk-1.12.3.dist-info → hatchet_sdk-1.13.0.dist-info}/METADATA +1 -1
- {hatchet_sdk-1.12.3.dist-info → hatchet_sdk-1.13.0.dist-info}/RECORD +48 -48
- {hatchet_sdk-1.12.3.dist-info → hatchet_sdk-1.13.0.dist-info}/WHEEL +0 -0
- {hatchet_sdk-1.12.3.dist-info → hatchet_sdk-1.13.0.dist-info}/entry_points.txt +0 -0
hatchet_sdk/context/context.py
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
import asyncio
|
|
1
2
|
import json
|
|
2
|
-
import traceback
|
|
3
|
-
from concurrent.futures import Future, ThreadPoolExecutor
|
|
4
3
|
from datetime import timedelta
|
|
5
4
|
from typing import TYPE_CHECKING, Any, cast
|
|
6
5
|
from warnings import warn
|
|
@@ -21,6 +20,7 @@ from hatchet_sdk.logger import logger
|
|
|
21
20
|
from hatchet_sdk.utils.timedelta_to_expression import Duration, timedelta_to_expr
|
|
22
21
|
from hatchet_sdk.utils.typing import JSONSerializableMapping
|
|
23
22
|
from hatchet_sdk.waits import SleepCondition, UserEventCondition
|
|
23
|
+
from hatchet_sdk.worker.runner.utils.capture_logs import AsyncLogSender, LogRecord
|
|
24
24
|
|
|
25
25
|
if TYPE_CHECKING:
|
|
26
26
|
from hatchet_sdk.runnables.task import Task
|
|
@@ -38,6 +38,7 @@ class Context:
|
|
|
38
38
|
worker: WorkerContext,
|
|
39
39
|
runs_client: RunsClient,
|
|
40
40
|
lifespan_context: Any | None,
|
|
41
|
+
log_sender: AsyncLogSender,
|
|
41
42
|
):
|
|
42
43
|
self.worker = worker
|
|
43
44
|
|
|
@@ -53,24 +54,41 @@ class Context:
|
|
|
53
54
|
self.runs_client = runs_client
|
|
54
55
|
self.durable_event_listener = durable_event_listener
|
|
55
56
|
|
|
56
|
-
# FIXME: this limits the number of concurrent log requests to 1, which means we can do about
|
|
57
|
-
# 100 log lines per second but this depends on network.
|
|
58
|
-
self.logger_thread_pool = ThreadPoolExecutor(max_workers=1)
|
|
59
|
-
self.stream_event_thread_pool = ThreadPoolExecutor(max_workers=1)
|
|
60
|
-
|
|
61
57
|
self.input = self.data.input
|
|
62
58
|
self.filter_payload = self.data.filter_payload
|
|
59
|
+
self.log_sender = log_sender
|
|
63
60
|
|
|
64
61
|
self._lifespan_context = lifespan_context
|
|
65
62
|
|
|
63
|
+
self.stream_index = 0
|
|
64
|
+
|
|
65
|
+
def _increment_stream_index(self) -> int:
|
|
66
|
+
index = self.stream_index
|
|
67
|
+
self.stream_index += 1
|
|
68
|
+
|
|
69
|
+
return index
|
|
70
|
+
|
|
66
71
|
def was_skipped(self, task: "Task[TWorkflowInput, R]") -> bool:
|
|
67
|
-
|
|
72
|
+
"""
|
|
73
|
+
Check if a given task was skipped. You can read about skipping in [the docs](https://docs.hatchet.run/home/conditional-workflows#skip_if).
|
|
74
|
+
|
|
75
|
+
:param task: The task to check the status of (skipped or not).
|
|
76
|
+
:return: True if the task was skipped, False otherwise.
|
|
77
|
+
"""
|
|
78
|
+
return self.data.parents.get(task.name, {}).get("skipped", False) is True
|
|
68
79
|
|
|
69
80
|
@property
|
|
70
81
|
def trigger_data(self) -> JSONSerializableMapping:
|
|
71
82
|
return self.data.triggers
|
|
72
83
|
|
|
73
84
|
def task_output(self, task: "Task[TWorkflowInput, R]") -> "R":
|
|
85
|
+
"""
|
|
86
|
+
Get the output of a parent task in a DAG.
|
|
87
|
+
|
|
88
|
+
:param task: The task whose output you want to retrieve.
|
|
89
|
+
:return: The output of the parent task, validated against the task's validators.
|
|
90
|
+
:raises ValueError: If the task was skipped or if the step output for the task is not found.
|
|
91
|
+
"""
|
|
74
92
|
from hatchet_sdk.runnables.types import R
|
|
75
93
|
|
|
76
94
|
if self.was_skipped(task):
|
|
@@ -78,8 +96,8 @@ class Context:
|
|
|
78
96
|
|
|
79
97
|
try:
|
|
80
98
|
parent_step_data = cast(R, self.data.parents[task.name])
|
|
81
|
-
except KeyError:
|
|
82
|
-
raise ValueError(f"Step output for '{task.name}' not found")
|
|
99
|
+
except KeyError as e:
|
|
100
|
+
raise ValueError(f"Step output for '{task.name}' not found") from e
|
|
83
101
|
|
|
84
102
|
if parent_step_data and (v := task.validators.step_output):
|
|
85
103
|
return cast(R, v.model_validate(parent_step_data))
|
|
@@ -90,6 +108,7 @@ class Context:
|
|
|
90
108
|
warn(
|
|
91
109
|
"`aio_task_output` is deprecated. Use `task_output` instead.",
|
|
92
110
|
DeprecationWarning,
|
|
111
|
+
stacklevel=2,
|
|
93
112
|
)
|
|
94
113
|
|
|
95
114
|
if task.is_async_function:
|
|
@@ -101,48 +120,82 @@ class Context:
|
|
|
101
120
|
|
|
102
121
|
@property
|
|
103
122
|
def was_triggered_by_event(self) -> bool:
|
|
123
|
+
"""
|
|
124
|
+
A property that indicates whether the workflow was triggered by an event.
|
|
125
|
+
|
|
126
|
+
:return: True if the workflow was triggered by an event, False otherwise.
|
|
127
|
+
"""
|
|
104
128
|
return self.data.triggered_by == "event"
|
|
105
129
|
|
|
106
130
|
@property
|
|
107
131
|
def workflow_input(self) -> JSONSerializableMapping:
|
|
132
|
+
"""
|
|
133
|
+
The input to the workflow, as a dictionary. It's recommended to use the `input` parameter to the task (the first argument passed into the task at runtime) instead of this property.
|
|
134
|
+
|
|
135
|
+
:return: The input to the workflow.
|
|
136
|
+
"""
|
|
108
137
|
return self.input
|
|
109
138
|
|
|
110
139
|
@property
|
|
111
140
|
def lifespan(self) -> Any:
|
|
141
|
+
"""
|
|
142
|
+
The worker lifespan, if it exists. You can read about lifespans in [the docs](https://docs.hatchet.run/home/lifespans).
|
|
143
|
+
|
|
144
|
+
**Note: You'll need to cast the return type of this property to the type returned by your lifespan generator.**
|
|
145
|
+
"""
|
|
112
146
|
return self._lifespan_context
|
|
113
147
|
|
|
114
148
|
@property
|
|
115
149
|
def workflow_run_id(self) -> str:
|
|
150
|
+
"""
|
|
151
|
+
The id of the current workflow run.
|
|
152
|
+
|
|
153
|
+
:return: The id of the current workflow run.
|
|
154
|
+
"""
|
|
116
155
|
return self.action.workflow_run_id
|
|
117
156
|
|
|
118
157
|
def _set_cancellation_flag(self) -> None:
|
|
119
158
|
self.exit_flag = True
|
|
120
159
|
|
|
121
160
|
def cancel(self) -> None:
|
|
161
|
+
"""
|
|
162
|
+
Cancel the current task run. This will call the Hatchet API to cancel the step run and set the exit flag to True.
|
|
163
|
+
|
|
164
|
+
:return: None
|
|
165
|
+
"""
|
|
122
166
|
logger.debug("cancelling step...")
|
|
123
167
|
self.runs_client.cancel(self.step_run_id)
|
|
124
168
|
self._set_cancellation_flag()
|
|
125
169
|
|
|
126
170
|
async def aio_cancel(self) -> None:
|
|
171
|
+
"""
|
|
172
|
+
Cancel the current task run. This will call the Hatchet API to cancel the step run and set the exit flag to True.
|
|
173
|
+
|
|
174
|
+
:return: None
|
|
175
|
+
"""
|
|
127
176
|
logger.debug("cancelling step...")
|
|
128
177
|
await self.runs_client.aio_cancel(self.step_run_id)
|
|
129
178
|
self._set_cancellation_flag()
|
|
130
179
|
|
|
131
|
-
# done returns true if the context has been cancelled
|
|
132
180
|
def done(self) -> bool:
|
|
133
|
-
|
|
181
|
+
"""
|
|
182
|
+
Check if the current task run has been cancelled.
|
|
134
183
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return True, None
|
|
139
|
-
except Exception as e:
|
|
140
|
-
# we don't want to raise an exception here, as it will kill the log thread
|
|
141
|
-
return False, e
|
|
184
|
+
:return: True if the task run has been cancelled, False otherwise.
|
|
185
|
+
"""
|
|
186
|
+
return self.exit_flag
|
|
142
187
|
|
|
143
188
|
def log(
|
|
144
189
|
self, line: str | JSONSerializableMapping, raise_on_error: bool = False
|
|
145
190
|
) -> None:
|
|
191
|
+
"""
|
|
192
|
+
Log a line to the Hatchet API. This will send the log line to the Hatchet API and return immediately.
|
|
193
|
+
|
|
194
|
+
:param line: The line to log. Can be a string or a JSON serializable mapping.
|
|
195
|
+
:param raise_on_error: If True, will raise an exception if the log fails. Defaults to False.
|
|
196
|
+
:return: None
|
|
197
|
+
"""
|
|
198
|
+
|
|
146
199
|
if self.step_run_id == "":
|
|
147
200
|
return
|
|
148
201
|
|
|
@@ -152,43 +205,51 @@ class Context:
|
|
|
152
205
|
except Exception:
|
|
153
206
|
line = str(line)
|
|
154
207
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
def handle_result(future: Future[tuple[bool, Exception | None]]) -> None:
|
|
158
|
-
success, exception = future.result()
|
|
159
|
-
|
|
160
|
-
if not success and exception:
|
|
161
|
-
if raise_on_error:
|
|
162
|
-
raise exception
|
|
163
|
-
else:
|
|
164
|
-
thread_trace = "".join(
|
|
165
|
-
traceback.format_exception(
|
|
166
|
-
type(exception), exception, exception.__traceback__
|
|
167
|
-
)
|
|
168
|
-
)
|
|
169
|
-
call_site_trace = "".join(traceback.format_stack())
|
|
170
|
-
logger.error(
|
|
171
|
-
f"Error in log thread: {exception}\n{thread_trace}\nCalled from:\n{call_site_trace}"
|
|
172
|
-
)
|
|
173
|
-
|
|
174
|
-
future.add_done_callback(handle_result)
|
|
208
|
+
logger.info(line)
|
|
209
|
+
self.log_sender.publish(LogRecord(message=line, step_run_id=self.step_run_id))
|
|
175
210
|
|
|
176
211
|
def release_slot(self) -> None:
|
|
212
|
+
"""
|
|
213
|
+
Manually release the slot for the current step run to free up a slot on the worker. Note that this is an advanced feature and should be used with caution.
|
|
214
|
+
|
|
215
|
+
:return: None
|
|
216
|
+
"""
|
|
177
217
|
return self.dispatcher_client.release_slot(self.step_run_id)
|
|
178
218
|
|
|
179
|
-
def
|
|
219
|
+
def put_stream(self, data: str | bytes) -> None:
|
|
220
|
+
"""
|
|
221
|
+
Put a stream event to the Hatchet API. This will send the data to the Hatchet API and return immediately. You can then subscribe to the stream from a separate consumer.
|
|
222
|
+
|
|
223
|
+
:param data: The data to send to the Hatchet API. Can be a string or bytes.
|
|
224
|
+
:return: None
|
|
225
|
+
"""
|
|
180
226
|
try:
|
|
181
|
-
|
|
227
|
+
ix = self._increment_stream_index()
|
|
228
|
+
|
|
229
|
+
self.event_client.stream(
|
|
230
|
+
data=data,
|
|
231
|
+
step_run_id=self.step_run_id,
|
|
232
|
+
index=ix,
|
|
233
|
+
)
|
|
182
234
|
except Exception as e:
|
|
183
235
|
logger.error(f"Error putting stream event: {e}")
|
|
184
236
|
|
|
185
|
-
def
|
|
186
|
-
|
|
187
|
-
|
|
237
|
+
async def aio_put_stream(self, data: str | bytes) -> None:
|
|
238
|
+
"""
|
|
239
|
+
Put a stream event to the Hatchet API. This will send the data to the Hatchet API and return immediately. You can then subscribe to the stream from a separate consumer.
|
|
188
240
|
|
|
189
|
-
|
|
241
|
+
:param data: The data to send to the Hatchet API. Can be a string or bytes.
|
|
242
|
+
:return: None
|
|
243
|
+
"""
|
|
244
|
+
await asyncio.to_thread(self.put_stream, data)
|
|
190
245
|
|
|
191
246
|
def refresh_timeout(self, increment_by: str | timedelta) -> None:
|
|
247
|
+
"""
|
|
248
|
+
Refresh the timeout for the current task run. You can read about refreshing timeouts in [the docs](https://docs.hatchet.run/home/timeouts#refreshing-timeouts).
|
|
249
|
+
|
|
250
|
+
:param increment_by: The amount of time to increment the timeout by. Can be a string (e.g. "5m") or a timedelta object.
|
|
251
|
+
:return: None
|
|
252
|
+
"""
|
|
192
253
|
if isinstance(increment_by, timedelta):
|
|
193
254
|
increment_by = timedelta_to_expr(increment_by)
|
|
194
255
|
|
|
@@ -201,10 +262,30 @@ class Context:
|
|
|
201
262
|
|
|
202
263
|
@property
|
|
203
264
|
def retry_count(self) -> int:
|
|
265
|
+
"""
|
|
266
|
+
The retry count of the current task run, which corresponds to the number of times the task has been retried.
|
|
267
|
+
|
|
268
|
+
:return: The retry count of the current task run.
|
|
269
|
+
"""
|
|
204
270
|
return self.action.retry_count
|
|
205
271
|
|
|
272
|
+
@property
|
|
273
|
+
def attempt_number(self) -> int:
|
|
274
|
+
"""
|
|
275
|
+
The attempt number of the current task run, which corresponds to the number of times the task has been attempted, including the initial attempt. This is one more than the retry count.
|
|
276
|
+
|
|
277
|
+
:return: The attempt number of the current task run.
|
|
278
|
+
"""
|
|
279
|
+
|
|
280
|
+
return self.retry_count + 1
|
|
281
|
+
|
|
206
282
|
@property
|
|
207
283
|
def additional_metadata(self) -> JSONSerializableMapping | None:
|
|
284
|
+
"""
|
|
285
|
+
The additional metadata sent with the current task run.
|
|
286
|
+
|
|
287
|
+
:return: The additional metadata sent with the current task run, or None if no additional metadata was sent.
|
|
288
|
+
"""
|
|
208
289
|
return self.action.additional_metadata
|
|
209
290
|
|
|
210
291
|
@property
|
|
@@ -217,27 +298,54 @@ class Context:
|
|
|
217
298
|
|
|
218
299
|
@property
|
|
219
300
|
def parent_workflow_run_id(self) -> str | None:
|
|
301
|
+
"""
|
|
302
|
+
The parent workflow run id of the current task run, if it exists. This is useful for knowing which workflow run spawned this run as a child.
|
|
303
|
+
|
|
304
|
+
:return: The parent workflow run id of the current task run, or None if it does not exist.
|
|
305
|
+
"""
|
|
220
306
|
return self.action.parent_workflow_run_id
|
|
221
307
|
|
|
222
308
|
@property
|
|
223
309
|
def priority(self) -> int | None:
|
|
310
|
+
"""
|
|
311
|
+
The priority that the current task was run with.
|
|
312
|
+
|
|
313
|
+
:return: The priority of the current task run, or None if no priority was set.
|
|
314
|
+
"""
|
|
224
315
|
return self.action.priority
|
|
225
316
|
|
|
226
317
|
@property
|
|
227
318
|
def workflow_id(self) -> str | None:
|
|
319
|
+
"""
|
|
320
|
+
The id of the workflow that this task belongs to.
|
|
321
|
+
|
|
322
|
+
:return: The id of the workflow that this task belongs to.
|
|
323
|
+
"""
|
|
324
|
+
|
|
228
325
|
return self.action.workflow_id
|
|
229
326
|
|
|
230
327
|
@property
|
|
231
328
|
def workflow_version_id(self) -> str | None:
|
|
329
|
+
"""
|
|
330
|
+
The id of the workflow version that this task belongs to.
|
|
331
|
+
|
|
332
|
+
:return: The id of the workflow version that this task belongs to.
|
|
333
|
+
"""
|
|
334
|
+
|
|
232
335
|
return self.action.workflow_version_id
|
|
233
336
|
|
|
234
337
|
@property
|
|
235
338
|
def task_run_errors(self) -> dict[str, str]:
|
|
339
|
+
"""
|
|
340
|
+
A helper intended to be used in an on-failure step to retrieve the errors that occurred in upstream task runs.
|
|
341
|
+
|
|
342
|
+
:return: A dictionary mapping task names to their error messages.
|
|
343
|
+
"""
|
|
236
344
|
errors = self.data.step_run_errors
|
|
237
345
|
|
|
238
346
|
if not errors:
|
|
239
347
|
logger.error(
|
|
240
|
-
"No step run errors found. `context.
|
|
348
|
+
"No step run errors found. `context.task_run_errors` is intended to be run in an on-failure step, and will only work on engine versions more recent than v0.53.10"
|
|
241
349
|
)
|
|
242
350
|
|
|
243
351
|
return errors
|
|
@@ -246,6 +354,12 @@ class Context:
|
|
|
246
354
|
self,
|
|
247
355
|
task: "Task[TWorkflowInput, R]",
|
|
248
356
|
) -> str | None:
|
|
357
|
+
"""
|
|
358
|
+
A helper intended to be used in an on-failure step to retrieve the error that occurred in a specific upstream task run.
|
|
359
|
+
|
|
360
|
+
:param task: The task whose error you want to retrieve.
|
|
361
|
+
:return: The error message of the task run, or None if no error occurred.
|
|
362
|
+
"""
|
|
249
363
|
errors = self.data.step_run_errors
|
|
250
364
|
|
|
251
365
|
return errors.get(task.name)
|
|
@@ -255,6 +369,15 @@ class DurableContext(Context):
|
|
|
255
369
|
async def aio_wait_for(
|
|
256
370
|
self, signal_key: str, *conditions: SleepCondition | UserEventCondition
|
|
257
371
|
) -> dict[str, Any]:
|
|
372
|
+
"""
|
|
373
|
+
Durably wait for either a sleep or an event.
|
|
374
|
+
|
|
375
|
+
:param signal_key: The key to use for the durable event. This is used to identify the event in the Hatchet API.
|
|
376
|
+
:param *conditions: The conditions to wait for. Can be a SleepCondition or UserEventCondition.
|
|
377
|
+
|
|
378
|
+
:return: A dictionary containing the results of the wait.
|
|
379
|
+
:raises ValueError: If the durable event listener is not available.
|
|
380
|
+
"""
|
|
258
381
|
if self.durable_event_listener is None:
|
|
259
382
|
raise ValueError("Durable event listener is not available")
|
|
260
383
|
|
|
@@ -264,6 +387,7 @@ class DurableContext(Context):
|
|
|
264
387
|
task_id=task_id,
|
|
265
388
|
signal_key=signal_key,
|
|
266
389
|
conditions=list(conditions),
|
|
390
|
+
config=self.runs_client.client_config,
|
|
267
391
|
)
|
|
268
392
|
|
|
269
393
|
self.durable_event_listener.register_durable_event(request)
|
|
@@ -2,11 +2,11 @@ from hatchet_sdk.clients.dispatcher.dispatcher import DispatcherClient
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class WorkerContext:
|
|
5
|
-
_worker_id: str | None = None
|
|
6
|
-
_registered_workflow_names: list[str] = []
|
|
7
|
-
_labels: dict[str, str | int] = {}
|
|
8
|
-
|
|
9
5
|
def __init__(self, labels: dict[str, str | int], client: DispatcherClient):
|
|
6
|
+
self._worker_id: str | None = None
|
|
7
|
+
self._registered_workflow_names: list[str] = []
|
|
8
|
+
self._labels: dict[str, str | int] = {}
|
|
9
|
+
|
|
10
10
|
self._labels = labels
|
|
11
11
|
self.client = client
|
|
12
12
|
|
|
@@ -23,6 +23,3 @@ class WorkerContext:
|
|
|
23
23
|
|
|
24
24
|
def id(self) -> str | None:
|
|
25
25
|
return self._worker_id
|
|
26
|
-
|
|
27
|
-
# def has_workflow(self, workflow_name: str):
|
|
28
|
-
# return workflow_name in self._registered_workflow_names
|
|
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x64ispatcher.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"V\n\x0cWorkerLabels\x12\x15\n\x08strValue\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08intValue\x18\x02 \x01(\x05H\x01\x88\x01\x01\x42\x0b\n\t_strValueB\x0b\n\t_intValue\"\xc8\x01\n\x0bRuntimeInfo\x12\x17\n\nsdkVersion\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x08language\x18\x02 \x01(\x0e\x32\x05.SDKSH\x01\x88\x01\x01\x12\x1c\n\x0flanguageVersion\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x0f\n\x02os\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x05 \x01(\tH\x04\x88\x01\x01\x42\r\n\x0b_sdkVersionB\x0b\n\t_languageB\x12\n\x10_languageVersionB\x05\n\x03_osB\x08\n\x06_extra\"\xc0\x02\n\x15WorkerRegisterRequest\x12\x12\n\nworkerName\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x63tions\x18\x02 \x03(\t\x12\x10\n\x08services\x18\x03 \x03(\t\x12\x14\n\x07maxRuns\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x32\n\x06labels\x18\x05 \x03(\x0b\x32\".WorkerRegisterRequest.LabelsEntry\x12\x16\n\twebhookId\x18\x06 \x01(\tH\x01\x88\x01\x01\x12&\n\x0bruntimeInfo\x18\x07 \x01(\x0b\x32\x0c.RuntimeInfoH\x02\x88\x01\x01\x1a<\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.WorkerLabels:\x02\x38\x01\x42\n\n\x08_maxRunsB\x0c\n\n_webhookIdB\x0e\n\x0c_runtimeInfo\"P\n\x16WorkerRegisterResponse\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x10\n\x08workerId\x18\x02 \x01(\t\x12\x12\n\nworkerName\x18\x03 \x01(\t\"\xa3\x01\n\x19UpsertWorkerLabelsRequest\x12\x10\n\x08workerId\x18\x01 \x01(\t\x12\x36\n\x06labels\x18\x02 \x03(\x0b\x32&.UpsertWorkerLabelsRequest.LabelsEntry\x1a<\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.WorkerLabels:\x02\x38\x01\"@\n\x1aUpsertWorkerLabelsResponse\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x10\n\x08workerId\x18\x02 \x01(\t\"\xf6\x04\n\x0e\x41ssignedAction\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x15\n\rworkflowRunId\x18\x02 \x01(\t\x12\x18\n\x10getGroupKeyRunId\x18\x03 \x01(\t\x12\r\n\x05jobId\x18\x04 \x01(\t\x12\x0f\n\x07jobName\x18\x05 \x01(\t\x12\x10\n\x08jobRunId\x18\x06 \x01(\t\x12\x0e\n\x06stepId\x18\x07 \x01(\t\x12\x11\n\tstepRunId\x18\x08 \x01(\t\x12\x10\n\x08\x61\x63tionId\x18\t \x01(\t\x12\x1f\n\nactionType\x18\n \x01(\x0e\x32\x0b.ActionType\x12\x15\n\ractionPayload\x18\x0b \x01(\t\x12\x10\n\x08stepName\x18\x0c \x01(\t\x12\x12\n\nretryCount\x18\r \x01(\x05\x12 \n\x13\x61\x64\x64itional_metadata\x18\x0e \x01(\tH\x00\x88\x01\x01\x12!\n\x14\x63hild_workflow_index\x18\x0f \x01(\x05H\x01\x88\x01\x01\x12\x1f\n\x12\x63hild_workflow_key\x18\x10 \x01(\tH\x02\x88\x01\x01\x12#\n\x16parent_workflow_run_id\x18\x11 \x01(\tH\x03\x88\x01\x01\x12\x10\n\x08priority\x18\x12 \x01(\x05\x12\x17\n\nworkflowId\x18\x13 \x01(\tH\x04\x88\x01\x01\x12\x1e\n\x11workflowVersionId\x18\x14 \x01(\tH\x05\x88\x01\x01\x42\x16\n\x14_additional_metadataB\x17\n\x15_child_workflow_indexB\x15\n\x13_child_workflow_keyB\x19\n\x17_parent_workflow_run_idB\r\n\x0b_workflowIdB\x14\n\x12_workflowVersionId\"\'\n\x13WorkerListenRequest\x12\x10\n\x08workerId\x18\x01 \x01(\t\",\n\x18WorkerUnsubscribeRequest\x12\x10\n\x08workerId\x18\x01 \x01(\t\"?\n\x19WorkerUnsubscribeResponse\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x10\n\x08workerId\x18\x02 \x01(\t\"\xe1\x01\n\x13GroupKeyActionEvent\x12\x10\n\x08workerId\x18\x01 \x01(\t\x12\x15\n\rworkflowRunId\x18\x02 \x01(\t\x12\x18\n\x10getGroupKeyRunId\x18\x03 \x01(\t\x12\x10\n\x08\x61\x63tionId\x18\x04 \x01(\t\x12\x32\n\x0e\x65ventTimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\teventType\x18\x06 \x01(\x0e\x32\x18.GroupKeyActionEventType\x12\x14\n\x0c\x65ventPayload\x18\x07 \x01(\t\"\xc4\x02\n\x0fStepActionEvent\x12\x10\n\x08workerId\x18\x01 \x01(\t\x12\r\n\x05jobId\x18\x02 \x01(\t\x12\x10\n\x08jobRunId\x18\x03 \x01(\t\x12\x0e\n\x06stepId\x18\x04 \x01(\t\x12\x11\n\tstepRunId\x18\x05 \x01(\t\x12\x10\n\x08\x61\x63tionId\x18\x06 \x01(\t\x12\x32\n\x0e\x65ventTimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\teventType\x18\x08 \x01(\x0e\x32\x14.StepActionEventType\x12\x14\n\x0c\x65ventPayload\x18\t \x01(\t\x12\x17\n\nretryCount\x18\n \x01(\x05H\x00\x88\x01\x01\x12\x1b\n\x0eshouldNotRetry\x18\x0b \x01(\x08H\x01\x88\x01\x01\x42\r\n\x0b_retryCountB\x11\n\x0f_shouldNotRetry\"9\n\x13\x41\x63tionEventResponse\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x10\n\x08workerId\x18\x02 \x01(\t\"\xc0\x01\n SubscribeToWorkflowEventsRequest\x12\x1a\n\rworkflowRunId\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1e\n\x11\x61\x64\x64itionalMetaKey\x18\x02 \x01(\tH\x01\x88\x01\x01\x12 \n\x13\x61\x64\x64itionalMetaValue\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x10\n\x0e_workflowRunIdB\x14\n\x12_additionalMetaKeyB\x16\n\x14_additionalMetaValue\"7\n\x1eSubscribeToWorkflowRunsRequest\x12\x15\n\rworkflowRunId\x18\x01 \x01(\t\"\
|
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x64ispatcher.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"V\n\x0cWorkerLabels\x12\x15\n\x08strValue\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08intValue\x18\x02 \x01(\x05H\x01\x88\x01\x01\x42\x0b\n\t_strValueB\x0b\n\t_intValue\"\xc8\x01\n\x0bRuntimeInfo\x12\x17\n\nsdkVersion\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x08language\x18\x02 \x01(\x0e\x32\x05.SDKSH\x01\x88\x01\x01\x12\x1c\n\x0flanguageVersion\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x0f\n\x02os\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x05 \x01(\tH\x04\x88\x01\x01\x42\r\n\x0b_sdkVersionB\x0b\n\t_languageB\x12\n\x10_languageVersionB\x05\n\x03_osB\x08\n\x06_extra\"\xc0\x02\n\x15WorkerRegisterRequest\x12\x12\n\nworkerName\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x63tions\x18\x02 \x03(\t\x12\x10\n\x08services\x18\x03 \x03(\t\x12\x14\n\x07maxRuns\x18\x04 \x01(\x05H\x00\x88\x01\x01\x12\x32\n\x06labels\x18\x05 \x03(\x0b\x32\".WorkerRegisterRequest.LabelsEntry\x12\x16\n\twebhookId\x18\x06 \x01(\tH\x01\x88\x01\x01\x12&\n\x0bruntimeInfo\x18\x07 \x01(\x0b\x32\x0c.RuntimeInfoH\x02\x88\x01\x01\x1a<\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.WorkerLabels:\x02\x38\x01\x42\n\n\x08_maxRunsB\x0c\n\n_webhookIdB\x0e\n\x0c_runtimeInfo\"P\n\x16WorkerRegisterResponse\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x10\n\x08workerId\x18\x02 \x01(\t\x12\x12\n\nworkerName\x18\x03 \x01(\t\"\xa3\x01\n\x19UpsertWorkerLabelsRequest\x12\x10\n\x08workerId\x18\x01 \x01(\t\x12\x36\n\x06labels\x18\x02 \x03(\x0b\x32&.UpsertWorkerLabelsRequest.LabelsEntry\x1a<\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1c\n\x05value\x18\x02 \x01(\x0b\x32\r.WorkerLabels:\x02\x38\x01\"@\n\x1aUpsertWorkerLabelsResponse\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x10\n\x08workerId\x18\x02 \x01(\t\"\xf6\x04\n\x0e\x41ssignedAction\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x15\n\rworkflowRunId\x18\x02 \x01(\t\x12\x18\n\x10getGroupKeyRunId\x18\x03 \x01(\t\x12\r\n\x05jobId\x18\x04 \x01(\t\x12\x0f\n\x07jobName\x18\x05 \x01(\t\x12\x10\n\x08jobRunId\x18\x06 \x01(\t\x12\x0e\n\x06stepId\x18\x07 \x01(\t\x12\x11\n\tstepRunId\x18\x08 \x01(\t\x12\x10\n\x08\x61\x63tionId\x18\t \x01(\t\x12\x1f\n\nactionType\x18\n \x01(\x0e\x32\x0b.ActionType\x12\x15\n\ractionPayload\x18\x0b \x01(\t\x12\x10\n\x08stepName\x18\x0c \x01(\t\x12\x12\n\nretryCount\x18\r \x01(\x05\x12 \n\x13\x61\x64\x64itional_metadata\x18\x0e \x01(\tH\x00\x88\x01\x01\x12!\n\x14\x63hild_workflow_index\x18\x0f \x01(\x05H\x01\x88\x01\x01\x12\x1f\n\x12\x63hild_workflow_key\x18\x10 \x01(\tH\x02\x88\x01\x01\x12#\n\x16parent_workflow_run_id\x18\x11 \x01(\tH\x03\x88\x01\x01\x12\x10\n\x08priority\x18\x12 \x01(\x05\x12\x17\n\nworkflowId\x18\x13 \x01(\tH\x04\x88\x01\x01\x12\x1e\n\x11workflowVersionId\x18\x14 \x01(\tH\x05\x88\x01\x01\x42\x16\n\x14_additional_metadataB\x17\n\x15_child_workflow_indexB\x15\n\x13_child_workflow_keyB\x19\n\x17_parent_workflow_run_idB\r\n\x0b_workflowIdB\x14\n\x12_workflowVersionId\"\'\n\x13WorkerListenRequest\x12\x10\n\x08workerId\x18\x01 \x01(\t\",\n\x18WorkerUnsubscribeRequest\x12\x10\n\x08workerId\x18\x01 \x01(\t\"?\n\x19WorkerUnsubscribeResponse\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x10\n\x08workerId\x18\x02 \x01(\t\"\xe1\x01\n\x13GroupKeyActionEvent\x12\x10\n\x08workerId\x18\x01 \x01(\t\x12\x15\n\rworkflowRunId\x18\x02 \x01(\t\x12\x18\n\x10getGroupKeyRunId\x18\x03 \x01(\t\x12\x10\n\x08\x61\x63tionId\x18\x04 \x01(\t\x12\x32\n\x0e\x65ventTimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12+\n\teventType\x18\x06 \x01(\x0e\x32\x18.GroupKeyActionEventType\x12\x14\n\x0c\x65ventPayload\x18\x07 \x01(\t\"\xc4\x02\n\x0fStepActionEvent\x12\x10\n\x08workerId\x18\x01 \x01(\t\x12\r\n\x05jobId\x18\x02 \x01(\t\x12\x10\n\x08jobRunId\x18\x03 \x01(\t\x12\x0e\n\x06stepId\x18\x04 \x01(\t\x12\x11\n\tstepRunId\x18\x05 \x01(\t\x12\x10\n\x08\x61\x63tionId\x18\x06 \x01(\t\x12\x32\n\x0e\x65ventTimestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\teventType\x18\x08 \x01(\x0e\x32\x14.StepActionEventType\x12\x14\n\x0c\x65ventPayload\x18\t \x01(\t\x12\x17\n\nretryCount\x18\n \x01(\x05H\x00\x88\x01\x01\x12\x1b\n\x0eshouldNotRetry\x18\x0b \x01(\x08H\x01\x88\x01\x01\x42\r\n\x0b_retryCountB\x11\n\x0f_shouldNotRetry\"9\n\x13\x41\x63tionEventResponse\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x10\n\x08workerId\x18\x02 \x01(\t\"\xc0\x01\n SubscribeToWorkflowEventsRequest\x12\x1a\n\rworkflowRunId\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1e\n\x11\x61\x64\x64itionalMetaKey\x18\x02 \x01(\tH\x01\x88\x01\x01\x12 \n\x13\x61\x64\x64itionalMetaValue\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x10\n\x0e_workflowRunIdB\x14\n\x12_additionalMetaKeyB\x16\n\x14_additionalMetaValue\"7\n\x1eSubscribeToWorkflowRunsRequest\x12\x15\n\rworkflowRunId\x18\x01 \x01(\t\"\xda\x02\n\rWorkflowEvent\x12\x15\n\rworkflowRunId\x18\x01 \x01(\t\x12#\n\x0cresourceType\x18\x02 \x01(\x0e\x32\r.ResourceType\x12%\n\teventType\x18\x03 \x01(\x0e\x32\x12.ResourceEventType\x12\x12\n\nresourceId\x18\x04 \x01(\t\x12\x32\n\x0e\x65ventTimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x0c\x65ventPayload\x18\x06 \x01(\t\x12\x0e\n\x06hangup\x18\x07 \x01(\x08\x12\x18\n\x0bstepRetries\x18\x08 \x01(\x05H\x00\x88\x01\x01\x12\x17\n\nretryCount\x18\t \x01(\x05H\x01\x88\x01\x01\x12\x17\n\neventIndex\x18\n \x01(\x03H\x02\x88\x01\x01\x42\x0e\n\x0c_stepRetriesB\r\n\x0b_retryCountB\r\n\x0b_eventIndex\"\xa8\x01\n\x10WorkflowRunEvent\x12\x15\n\rworkflowRunId\x18\x01 \x01(\t\x12(\n\teventType\x18\x02 \x01(\x0e\x32\x15.WorkflowRunEventType\x12\x32\n\x0e\x65ventTimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x07results\x18\x04 \x03(\x0b\x32\x0e.StepRunResult\"\x8a\x01\n\rStepRunResult\x12\x11\n\tstepRunId\x18\x01 \x01(\t\x12\x16\n\x0estepReadableId\x18\x02 \x01(\t\x12\x10\n\x08jobRunId\x18\x03 \x01(\t\x12\x12\n\x05\x65rror\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06output\x18\x05 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_errorB\t\n\x07_output\"W\n\rOverridesData\x12\x11\n\tstepRunId\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\x12\x16\n\x0e\x63\x61llerFilename\x18\x04 \x01(\t\"\x17\n\x15OverridesDataResponse\"U\n\x10HeartbeatRequest\x12\x10\n\x08workerId\x18\x01 \x01(\t\x12/\n\x0bheartbeatAt\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x13\n\x11HeartbeatResponse\"F\n\x15RefreshTimeoutRequest\x12\x11\n\tstepRunId\x18\x01 \x01(\t\x12\x1a\n\x12incrementTimeoutBy\x18\x02 \x01(\t\"G\n\x16RefreshTimeoutResponse\x12-\n\ttimeoutAt\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\'\n\x12ReleaseSlotRequest\x12\x11\n\tstepRunId\x18\x01 \x01(\t\"\x15\n\x13ReleaseSlotResponse*7\n\x04SDKS\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02GO\x10\x01\x12\n\n\x06PYTHON\x10\x02\x12\x0e\n\nTYPESCRIPT\x10\x03*N\n\nActionType\x12\x12\n\x0eSTART_STEP_RUN\x10\x00\x12\x13\n\x0f\x43\x41NCEL_STEP_RUN\x10\x01\x12\x17\n\x13START_GET_GROUP_KEY\x10\x02*\xa2\x01\n\x17GroupKeyActionEventType\x12 \n\x1cGROUP_KEY_EVENT_TYPE_UNKNOWN\x10\x00\x12 \n\x1cGROUP_KEY_EVENT_TYPE_STARTED\x10\x01\x12\"\n\x1eGROUP_KEY_EVENT_TYPE_COMPLETED\x10\x02\x12\x1f\n\x1bGROUP_KEY_EVENT_TYPE_FAILED\x10\x03*\xac\x01\n\x13StepActionEventType\x12\x1b\n\x17STEP_EVENT_TYPE_UNKNOWN\x10\x00\x12\x1b\n\x17STEP_EVENT_TYPE_STARTED\x10\x01\x12\x1d\n\x19STEP_EVENT_TYPE_COMPLETED\x10\x02\x12\x1a\n\x16STEP_EVENT_TYPE_FAILED\x10\x03\x12 \n\x1cSTEP_EVENT_TYPE_ACKNOWLEDGED\x10\x04*e\n\x0cResourceType\x12\x19\n\x15RESOURCE_TYPE_UNKNOWN\x10\x00\x12\x1a\n\x16RESOURCE_TYPE_STEP_RUN\x10\x01\x12\x1e\n\x1aRESOURCE_TYPE_WORKFLOW_RUN\x10\x02*\xfe\x01\n\x11ResourceEventType\x12\x1f\n\x1bRESOURCE_EVENT_TYPE_UNKNOWN\x10\x00\x12\x1f\n\x1bRESOURCE_EVENT_TYPE_STARTED\x10\x01\x12!\n\x1dRESOURCE_EVENT_TYPE_COMPLETED\x10\x02\x12\x1e\n\x1aRESOURCE_EVENT_TYPE_FAILED\x10\x03\x12!\n\x1dRESOURCE_EVENT_TYPE_CANCELLED\x10\x04\x12!\n\x1dRESOURCE_EVENT_TYPE_TIMED_OUT\x10\x05\x12\x1e\n\x1aRESOURCE_EVENT_TYPE_STREAM\x10\x06*<\n\x14WorkflowRunEventType\x12$\n WORKFLOW_RUN_EVENT_TYPE_FINISHED\x10\x00\x32\xf8\x06\n\nDispatcher\x12=\n\x08Register\x12\x16.WorkerRegisterRequest\x1a\x17.WorkerRegisterResponse\"\x00\x12\x33\n\x06Listen\x12\x14.WorkerListenRequest\x1a\x0f.AssignedAction\"\x00\x30\x01\x12\x35\n\x08ListenV2\x12\x14.WorkerListenRequest\x1a\x0f.AssignedAction\"\x00\x30\x01\x12\x34\n\tHeartbeat\x12\x11.HeartbeatRequest\x1a\x12.HeartbeatResponse\"\x00\x12R\n\x19SubscribeToWorkflowEvents\x12!.SubscribeToWorkflowEventsRequest\x1a\x0e.WorkflowEvent\"\x00\x30\x01\x12S\n\x17SubscribeToWorkflowRuns\x12\x1f.SubscribeToWorkflowRunsRequest\x1a\x11.WorkflowRunEvent\"\x00(\x01\x30\x01\x12?\n\x13SendStepActionEvent\x12\x10.StepActionEvent\x1a\x14.ActionEventResponse\"\x00\x12G\n\x17SendGroupKeyActionEvent\x12\x14.GroupKeyActionEvent\x1a\x14.ActionEventResponse\"\x00\x12<\n\x10PutOverridesData\x12\x0e.OverridesData\x1a\x16.OverridesDataResponse\"\x00\x12\x46\n\x0bUnsubscribe\x12\x19.WorkerUnsubscribeRequest\x1a\x1a.WorkerUnsubscribeResponse\"\x00\x12\x43\n\x0eRefreshTimeout\x12\x16.RefreshTimeoutRequest\x1a\x17.RefreshTimeoutResponse\"\x00\x12:\n\x0bReleaseSlot\x12\x13.ReleaseSlotRequest\x1a\x14.ReleaseSlotResponse\"\x00\x12O\n\x12UpsertWorkerLabels\x12\x1a.UpsertWorkerLabelsRequest\x1a\x1b.UpsertWorkerLabelsResponse\"\x00\x42GZEgithub.com/hatchet-dev/hatchet/internal/services/dispatcher/contractsb\x06proto3')
|
|
19
19
|
|
|
20
20
|
_globals = globals()
|
|
21
21
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -27,20 +27,20 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
27
27
|
_globals['_WORKERREGISTERREQUEST_LABELSENTRY']._serialized_options = b'8\001'
|
|
28
28
|
_globals['_UPSERTWORKERLABELSREQUEST_LABELSENTRY']._loaded_options = None
|
|
29
29
|
_globals['_UPSERTWORKERLABELSREQUEST_LABELSENTRY']._serialized_options = b'8\001'
|
|
30
|
-
_globals['_SDKS']._serialized_start=
|
|
31
|
-
_globals['_SDKS']._serialized_end=
|
|
32
|
-
_globals['_ACTIONTYPE']._serialized_start=
|
|
33
|
-
_globals['_ACTIONTYPE']._serialized_end=
|
|
34
|
-
_globals['_GROUPKEYACTIONEVENTTYPE']._serialized_start=
|
|
35
|
-
_globals['_GROUPKEYACTIONEVENTTYPE']._serialized_end=
|
|
36
|
-
_globals['_STEPACTIONEVENTTYPE']._serialized_start=
|
|
37
|
-
_globals['_STEPACTIONEVENTTYPE']._serialized_end=
|
|
38
|
-
_globals['_RESOURCETYPE']._serialized_start=
|
|
39
|
-
_globals['_RESOURCETYPE']._serialized_end=
|
|
40
|
-
_globals['_RESOURCEEVENTTYPE']._serialized_start=
|
|
41
|
-
_globals['_RESOURCEEVENTTYPE']._serialized_end=
|
|
42
|
-
_globals['_WORKFLOWRUNEVENTTYPE']._serialized_start=
|
|
43
|
-
_globals['_WORKFLOWRUNEVENTTYPE']._serialized_end=
|
|
30
|
+
_globals['_SDKS']._serialized_start=3724
|
|
31
|
+
_globals['_SDKS']._serialized_end=3779
|
|
32
|
+
_globals['_ACTIONTYPE']._serialized_start=3781
|
|
33
|
+
_globals['_ACTIONTYPE']._serialized_end=3859
|
|
34
|
+
_globals['_GROUPKEYACTIONEVENTTYPE']._serialized_start=3862
|
|
35
|
+
_globals['_GROUPKEYACTIONEVENTTYPE']._serialized_end=4024
|
|
36
|
+
_globals['_STEPACTIONEVENTTYPE']._serialized_start=4027
|
|
37
|
+
_globals['_STEPACTIONEVENTTYPE']._serialized_end=4199
|
|
38
|
+
_globals['_RESOURCETYPE']._serialized_start=4201
|
|
39
|
+
_globals['_RESOURCETYPE']._serialized_end=4302
|
|
40
|
+
_globals['_RESOURCEEVENTTYPE']._serialized_start=4305
|
|
41
|
+
_globals['_RESOURCEEVENTTYPE']._serialized_end=4559
|
|
42
|
+
_globals['_WORKFLOWRUNEVENTTYPE']._serialized_start=4561
|
|
43
|
+
_globals['_WORKFLOWRUNEVENTTYPE']._serialized_end=4621
|
|
44
44
|
_globals['_WORKERLABELS']._serialized_start=53
|
|
45
45
|
_globals['_WORKERLABELS']._serialized_end=139
|
|
46
46
|
_globals['_RUNTIMEINFO']._serialized_start=142
|
|
@@ -76,27 +76,27 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
76
76
|
_globals['_SUBSCRIBETOWORKFLOWRUNSREQUEST']._serialized_start=2575
|
|
77
77
|
_globals['_SUBSCRIBETOWORKFLOWRUNSREQUEST']._serialized_end=2630
|
|
78
78
|
_globals['_WORKFLOWEVENT']._serialized_start=2633
|
|
79
|
-
_globals['_WORKFLOWEVENT']._serialized_end=
|
|
80
|
-
_globals['_WORKFLOWRUNEVENT']._serialized_start=
|
|
81
|
-
_globals['_WORKFLOWRUNEVENT']._serialized_end=
|
|
82
|
-
_globals['_STEPRUNRESULT']._serialized_start=
|
|
83
|
-
_globals['_STEPRUNRESULT']._serialized_end=
|
|
84
|
-
_globals['_OVERRIDESDATA']._serialized_start=
|
|
85
|
-
_globals['_OVERRIDESDATA']._serialized_end=
|
|
86
|
-
_globals['_OVERRIDESDATARESPONSE']._serialized_start=
|
|
87
|
-
_globals['_OVERRIDESDATARESPONSE']._serialized_end=
|
|
88
|
-
_globals['_HEARTBEATREQUEST']._serialized_start=
|
|
89
|
-
_globals['_HEARTBEATREQUEST']._serialized_end=
|
|
90
|
-
_globals['_HEARTBEATRESPONSE']._serialized_start=
|
|
91
|
-
_globals['_HEARTBEATRESPONSE']._serialized_end=
|
|
92
|
-
_globals['_REFRESHTIMEOUTREQUEST']._serialized_start=
|
|
93
|
-
_globals['_REFRESHTIMEOUTREQUEST']._serialized_end=
|
|
94
|
-
_globals['_REFRESHTIMEOUTRESPONSE']._serialized_start=
|
|
95
|
-
_globals['_REFRESHTIMEOUTRESPONSE']._serialized_end=
|
|
96
|
-
_globals['_RELEASESLOTREQUEST']._serialized_start=
|
|
97
|
-
_globals['_RELEASESLOTREQUEST']._serialized_end=
|
|
98
|
-
_globals['_RELEASESLOTRESPONSE']._serialized_start=
|
|
99
|
-
_globals['_RELEASESLOTRESPONSE']._serialized_end=
|
|
100
|
-
_globals['_DISPATCHER']._serialized_start=
|
|
101
|
-
_globals['_DISPATCHER']._serialized_end=
|
|
79
|
+
_globals['_WORKFLOWEVENT']._serialized_end=2979
|
|
80
|
+
_globals['_WORKFLOWRUNEVENT']._serialized_start=2982
|
|
81
|
+
_globals['_WORKFLOWRUNEVENT']._serialized_end=3150
|
|
82
|
+
_globals['_STEPRUNRESULT']._serialized_start=3153
|
|
83
|
+
_globals['_STEPRUNRESULT']._serialized_end=3291
|
|
84
|
+
_globals['_OVERRIDESDATA']._serialized_start=3293
|
|
85
|
+
_globals['_OVERRIDESDATA']._serialized_end=3380
|
|
86
|
+
_globals['_OVERRIDESDATARESPONSE']._serialized_start=3382
|
|
87
|
+
_globals['_OVERRIDESDATARESPONSE']._serialized_end=3405
|
|
88
|
+
_globals['_HEARTBEATREQUEST']._serialized_start=3407
|
|
89
|
+
_globals['_HEARTBEATREQUEST']._serialized_end=3492
|
|
90
|
+
_globals['_HEARTBEATRESPONSE']._serialized_start=3494
|
|
91
|
+
_globals['_HEARTBEATRESPONSE']._serialized_end=3513
|
|
92
|
+
_globals['_REFRESHTIMEOUTREQUEST']._serialized_start=3515
|
|
93
|
+
_globals['_REFRESHTIMEOUTREQUEST']._serialized_end=3585
|
|
94
|
+
_globals['_REFRESHTIMEOUTRESPONSE']._serialized_start=3587
|
|
95
|
+
_globals['_REFRESHTIMEOUTRESPONSE']._serialized_end=3658
|
|
96
|
+
_globals['_RELEASESLOTREQUEST']._serialized_start=3660
|
|
97
|
+
_globals['_RELEASESLOTREQUEST']._serialized_end=3699
|
|
98
|
+
_globals['_RELEASESLOTRESPONSE']._serialized_start=3701
|
|
99
|
+
_globals['_RELEASESLOTRESPONSE']._serialized_end=3722
|
|
100
|
+
_globals['_DISPATCHER']._serialized_start=4624
|
|
101
|
+
_globals['_DISPATCHER']._serialized_end=5512
|
|
102
102
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -295,7 +295,7 @@ class SubscribeToWorkflowRunsRequest(_message.Message):
|
|
|
295
295
|
def __init__(self, workflowRunId: _Optional[str] = ...) -> None: ...
|
|
296
296
|
|
|
297
297
|
class WorkflowEvent(_message.Message):
|
|
298
|
-
__slots__ = ("workflowRunId", "resourceType", "eventType", "resourceId", "eventTimestamp", "eventPayload", "hangup", "stepRetries", "retryCount")
|
|
298
|
+
__slots__ = ("workflowRunId", "resourceType", "eventType", "resourceId", "eventTimestamp", "eventPayload", "hangup", "stepRetries", "retryCount", "eventIndex")
|
|
299
299
|
WORKFLOWRUNID_FIELD_NUMBER: _ClassVar[int]
|
|
300
300
|
RESOURCETYPE_FIELD_NUMBER: _ClassVar[int]
|
|
301
301
|
EVENTTYPE_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -305,6 +305,7 @@ class WorkflowEvent(_message.Message):
|
|
|
305
305
|
HANGUP_FIELD_NUMBER: _ClassVar[int]
|
|
306
306
|
STEPRETRIES_FIELD_NUMBER: _ClassVar[int]
|
|
307
307
|
RETRYCOUNT_FIELD_NUMBER: _ClassVar[int]
|
|
308
|
+
EVENTINDEX_FIELD_NUMBER: _ClassVar[int]
|
|
308
309
|
workflowRunId: str
|
|
309
310
|
resourceType: ResourceType
|
|
310
311
|
eventType: ResourceEventType
|
|
@@ -314,7 +315,8 @@ class WorkflowEvent(_message.Message):
|
|
|
314
315
|
hangup: bool
|
|
315
316
|
stepRetries: int
|
|
316
317
|
retryCount: int
|
|
317
|
-
|
|
318
|
+
eventIndex: int
|
|
319
|
+
def __init__(self, workflowRunId: _Optional[str] = ..., resourceType: _Optional[_Union[ResourceType, str]] = ..., eventType: _Optional[_Union[ResourceEventType, str]] = ..., resourceId: _Optional[str] = ..., eventTimestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., eventPayload: _Optional[str] = ..., hangup: bool = ..., stepRetries: _Optional[int] = ..., retryCount: _Optional[int] = ..., eventIndex: _Optional[int] = ...) -> None: ...
|
|
318
320
|
|
|
319
321
|
class WorkflowRunEvent(_message.Message):
|
|
320
322
|
__slots__ = ("workflowRunId", "eventType", "eventTimestamp", "results")
|
|
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
|
|
|
15
15
|
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x65vents.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd2\x01\n\x05\x45vent\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x0f\n\x07\x65ventId\x18\x02 \x01(\t\x12\x0b\n\x03key\x18\x03 \x01(\t\x12\x0f\n\x07payload\x18\x04 \x01(\t\x12\x32\n\x0e\x65ventTimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x12\x61\x64\x64itionalMetadata\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05scope\x18\x07 \x01(\tH\x01\x88\x01\x01\x42\x15\n\x13_additionalMetadataB\x08\n\x06_scope\" \n\x06\x45vents\x12\x16\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x06.Event\"\xc2\x01\n\rPutLogRequest\x12\x11\n\tstepRunId\x18\x01 \x01(\t\x12-\n\tcreatedAt\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x12\n\x05level\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x08metadata\x18\x05 \x01(\t\x12\x1b\n\x0etaskRetryCount\x18\x06 \x01(\x05H\x01\x88\x01\x01\x42\x08\n\x06_levelB\x11\n\x0f_taskRetryCount\"\x10\n\x0ePutLogResponse\"
|
|
18
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0c\x65vents.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd2\x01\n\x05\x45vent\x12\x10\n\x08tenantId\x18\x01 \x01(\t\x12\x0f\n\x07\x65ventId\x18\x02 \x01(\t\x12\x0b\n\x03key\x18\x03 \x01(\t\x12\x0f\n\x07payload\x18\x04 \x01(\t\x12\x32\n\x0e\x65ventTimestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x12\x61\x64\x64itionalMetadata\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05scope\x18\x07 \x01(\tH\x01\x88\x01\x01\x42\x15\n\x13_additionalMetadataB\x08\n\x06_scope\" \n\x06\x45vents\x12\x16\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x06.Event\"\xc2\x01\n\rPutLogRequest\x12\x11\n\tstepRunId\x18\x01 \x01(\t\x12-\n\tcreatedAt\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07message\x18\x03 \x01(\t\x12\x12\n\x05level\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x08metadata\x18\x05 \x01(\t\x12\x1b\n\x0etaskRetryCount\x18\x06 \x01(\x05H\x01\x88\x01\x01\x42\x08\n\x06_levelB\x11\n\x0f_taskRetryCount\"\x10\n\x0ePutLogResponse\"\xa4\x01\n\x15PutStreamEventRequest\x12\x11\n\tstepRunId\x18\x01 \x01(\t\x12-\n\tcreatedAt\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x10\n\x08metadata\x18\x05 \x01(\t\x12\x17\n\neventIndex\x18\x06 \x01(\x03H\x00\x88\x01\x01\x42\r\n\x0b_eventIndex\"\x18\n\x16PutStreamEventResponse\"9\n\x14\x42ulkPushEventRequest\x12!\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x11.PushEventRequest\"\xde\x01\n\x10PushEventRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x0f\n\x07payload\x18\x02 \x01(\t\x12\x32\n\x0e\x65ventTimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x12\x61\x64\x64itionalMetadata\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08priority\x18\x05 \x01(\x05H\x01\x88\x01\x01\x12\x12\n\x05scope\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x15\n\x13_additionalMetadataB\x0b\n\t_priorityB\x08\n\x06_scope\"%\n\x12ReplayEventRequest\x12\x0f\n\x07\x65ventId\x18\x01 \x01(\t2\x88\x02\n\rEventsService\x12#\n\x04Push\x12\x11.PushEventRequest\x1a\x06.Event\"\x00\x12,\n\x08\x42ulkPush\x12\x15.BulkPushEventRequest\x1a\x07.Events\"\x00\x12\x32\n\x11ReplaySingleEvent\x12\x13.ReplayEventRequest\x1a\x06.Event\"\x00\x12+\n\x06PutLog\x12\x0e.PutLogRequest\x1a\x0f.PutLogResponse\"\x00\x12\x43\n\x0ePutStreamEvent\x12\x16.PutStreamEventRequest\x1a\x17.PutStreamEventResponse\"\x00\x42\x45ZCgithub.com/hatchet-dev/hatchet/internal/services/ingestor/contractsb\x06proto3')
|
|
19
19
|
|
|
20
20
|
_globals = globals()
|
|
21
21
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -31,16 +31,16 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
31
31
|
_globals['_PUTLOGREQUEST']._serialized_end=491
|
|
32
32
|
_globals['_PUTLOGRESPONSE']._serialized_start=493
|
|
33
33
|
_globals['_PUTLOGRESPONSE']._serialized_end=509
|
|
34
|
-
_globals['_PUTSTREAMEVENTREQUEST']._serialized_start=
|
|
35
|
-
_globals['_PUTSTREAMEVENTREQUEST']._serialized_end=
|
|
36
|
-
_globals['_PUTSTREAMEVENTRESPONSE']._serialized_start=
|
|
37
|
-
_globals['_PUTSTREAMEVENTRESPONSE']._serialized_end=
|
|
38
|
-
_globals['_BULKPUSHEVENTREQUEST']._serialized_start=
|
|
39
|
-
_globals['_BULKPUSHEVENTREQUEST']._serialized_end=
|
|
40
|
-
_globals['_PUSHEVENTREQUEST']._serialized_start=
|
|
41
|
-
_globals['_PUSHEVENTREQUEST']._serialized_end=
|
|
42
|
-
_globals['_REPLAYEVENTREQUEST']._serialized_start=
|
|
43
|
-
_globals['_REPLAYEVENTREQUEST']._serialized_end=
|
|
44
|
-
_globals['_EVENTSSERVICE']._serialized_start=
|
|
45
|
-
_globals['_EVENTSSERVICE']._serialized_end=
|
|
34
|
+
_globals['_PUTSTREAMEVENTREQUEST']._serialized_start=512
|
|
35
|
+
_globals['_PUTSTREAMEVENTREQUEST']._serialized_end=676
|
|
36
|
+
_globals['_PUTSTREAMEVENTRESPONSE']._serialized_start=678
|
|
37
|
+
_globals['_PUTSTREAMEVENTRESPONSE']._serialized_end=702
|
|
38
|
+
_globals['_BULKPUSHEVENTREQUEST']._serialized_start=704
|
|
39
|
+
_globals['_BULKPUSHEVENTREQUEST']._serialized_end=761
|
|
40
|
+
_globals['_PUSHEVENTREQUEST']._serialized_start=764
|
|
41
|
+
_globals['_PUSHEVENTREQUEST']._serialized_end=986
|
|
42
|
+
_globals['_REPLAYEVENTREQUEST']._serialized_start=988
|
|
43
|
+
_globals['_REPLAYEVENTREQUEST']._serialized_end=1025
|
|
44
|
+
_globals['_EVENTSSERVICE']._serialized_start=1028
|
|
45
|
+
_globals['_EVENTSSERVICE']._serialized_end=1292
|
|
46
46
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -51,16 +51,18 @@ class PutLogResponse(_message.Message):
|
|
|
51
51
|
def __init__(self) -> None: ...
|
|
52
52
|
|
|
53
53
|
class PutStreamEventRequest(_message.Message):
|
|
54
|
-
__slots__ = ("stepRunId", "createdAt", "message", "metadata")
|
|
54
|
+
__slots__ = ("stepRunId", "createdAt", "message", "metadata", "eventIndex")
|
|
55
55
|
STEPRUNID_FIELD_NUMBER: _ClassVar[int]
|
|
56
56
|
CREATEDAT_FIELD_NUMBER: _ClassVar[int]
|
|
57
57
|
MESSAGE_FIELD_NUMBER: _ClassVar[int]
|
|
58
58
|
METADATA_FIELD_NUMBER: _ClassVar[int]
|
|
59
|
+
EVENTINDEX_FIELD_NUMBER: _ClassVar[int]
|
|
59
60
|
stepRunId: str
|
|
60
61
|
createdAt: _timestamp_pb2.Timestamp
|
|
61
62
|
message: bytes
|
|
62
63
|
metadata: str
|
|
63
|
-
|
|
64
|
+
eventIndex: int
|
|
65
|
+
def __init__(self, stepRunId: _Optional[str] = ..., createdAt: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., message: _Optional[bytes] = ..., metadata: _Optional[str] = ..., eventIndex: _Optional[int] = ...) -> None: ...
|
|
64
66
|
|
|
65
67
|
class PutStreamEventResponse(_message.Message):
|
|
66
68
|
__slots__ = ()
|