tilebox-workflows 0.43.0__py3-none-any.whl → 0.45.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.
- tilebox/workflows/__init__.py +2 -1
- tilebox/workflows/automations/client.py +3 -3
- tilebox/workflows/data.py +200 -46
- tilebox/workflows/formatting/__init__.py +0 -0
- tilebox/workflows/formatting/job.py +402 -0
- tilebox/workflows/jobs/client.py +41 -15
- tilebox/workflows/jobs/service.py +15 -6
- tilebox/workflows/runner/task_runner.py +54 -23
- tilebox/workflows/runner/task_service.py +4 -2
- tilebox/workflows/task.py +95 -14
- tilebox/workflows/workflows/v1/automation_pb2.py +22 -22
- tilebox/workflows/workflows/v1/automation_pb2.pyi +2 -2
- tilebox/workflows/workflows/v1/core_pb2.py +54 -30
- tilebox/workflows/workflows/v1/core_pb2.pyi +89 -16
- tilebox/workflows/workflows/v1/job_pb2.py +36 -38
- tilebox/workflows/workflows/v1/job_pb2.pyi +17 -17
- tilebox/workflows/workflows/v1/job_pb2_grpc.py +43 -0
- tilebox/workflows/workflows/v1/task_pb2.py +16 -16
- tilebox/workflows/workflows/v1/task_pb2.pyi +8 -6
- {tilebox_workflows-0.43.0.dist-info → tilebox_workflows-0.45.0.dist-info}/METADATA +3 -1
- {tilebox_workflows-0.43.0.dist-info → tilebox_workflows-0.45.0.dist-info}/RECORD +22 -20
- {tilebox_workflows-0.43.0.dist-info → tilebox_workflows-0.45.0.dist-info}/WHEEL +0 -0
|
@@ -11,12 +11,22 @@ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
|
|
|
11
11
|
|
|
12
12
|
DESCRIPTOR: _descriptor.FileDescriptor
|
|
13
13
|
|
|
14
|
+
class LegacyJobState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
15
|
+
__slots__ = ()
|
|
16
|
+
LEGACY_JOB_STATE_UNSPECIFIED: _ClassVar[LegacyJobState]
|
|
17
|
+
LEGACY_JOB_STATE_QUEUED: _ClassVar[LegacyJobState]
|
|
18
|
+
LEGACY_JOB_STATE_STARTED: _ClassVar[LegacyJobState]
|
|
19
|
+
LEGACY_JOB_STATE_COMPLETED: _ClassVar[LegacyJobState]
|
|
20
|
+
|
|
14
21
|
class JobState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
15
22
|
__slots__ = ()
|
|
16
23
|
JOB_STATE_UNSPECIFIED: _ClassVar[JobState]
|
|
17
|
-
|
|
24
|
+
JOB_STATE_SUBMITTED: _ClassVar[JobState]
|
|
25
|
+
JOB_STATE_RUNNING: _ClassVar[JobState]
|
|
18
26
|
JOB_STATE_STARTED: _ClassVar[JobState]
|
|
19
27
|
JOB_STATE_COMPLETED: _ClassVar[JobState]
|
|
28
|
+
JOB_STATE_FAILED: _ClassVar[JobState]
|
|
29
|
+
JOB_STATE_CANCELED: _ClassVar[JobState]
|
|
20
30
|
|
|
21
31
|
class TaskState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
22
32
|
__slots__ = ()
|
|
@@ -25,17 +35,22 @@ class TaskState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
|
25
35
|
TASK_STATE_RUNNING: _ClassVar[TaskState]
|
|
26
36
|
TASK_STATE_COMPUTED: _ClassVar[TaskState]
|
|
27
37
|
TASK_STATE_FAILED: _ClassVar[TaskState]
|
|
28
|
-
|
|
38
|
+
LEGACY_JOB_STATE_UNSPECIFIED: LegacyJobState
|
|
39
|
+
LEGACY_JOB_STATE_QUEUED: LegacyJobState
|
|
40
|
+
LEGACY_JOB_STATE_STARTED: LegacyJobState
|
|
41
|
+
LEGACY_JOB_STATE_COMPLETED: LegacyJobState
|
|
29
42
|
JOB_STATE_UNSPECIFIED: JobState
|
|
30
|
-
|
|
43
|
+
JOB_STATE_SUBMITTED: JobState
|
|
44
|
+
JOB_STATE_RUNNING: JobState
|
|
31
45
|
JOB_STATE_STARTED: JobState
|
|
32
46
|
JOB_STATE_COMPLETED: JobState
|
|
47
|
+
JOB_STATE_FAILED: JobState
|
|
48
|
+
JOB_STATE_CANCELED: JobState
|
|
33
49
|
TASK_STATE_UNSPECIFIED: TaskState
|
|
34
50
|
TASK_STATE_QUEUED: TaskState
|
|
35
51
|
TASK_STATE_RUNNING: TaskState
|
|
36
52
|
TASK_STATE_COMPUTED: TaskState
|
|
37
53
|
TASK_STATE_FAILED: TaskState
|
|
38
|
-
TASK_STATE_CANCELLED: TaskState
|
|
39
54
|
|
|
40
55
|
class Cluster(_message.Message):
|
|
41
56
|
__slots__ = ("slug", "display_name", "deletable")
|
|
@@ -48,28 +63,58 @@ class Cluster(_message.Message):
|
|
|
48
63
|
def __init__(self, slug: _Optional[str] = ..., display_name: _Optional[str] = ..., deletable: bool = ...) -> None: ...
|
|
49
64
|
|
|
50
65
|
class Job(_message.Message):
|
|
51
|
-
__slots__ = ("id", "name", "trace_parent", "canceled", "
|
|
66
|
+
__slots__ = ("id", "name", "trace_parent", "canceled", "legacy_state", "submitted_at", "started_at", "task_summaries", "automation_id", "progress", "state", "execution_stats")
|
|
52
67
|
ID_FIELD_NUMBER: _ClassVar[int]
|
|
53
68
|
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
54
69
|
TRACE_PARENT_FIELD_NUMBER: _ClassVar[int]
|
|
55
70
|
CANCELED_FIELD_NUMBER: _ClassVar[int]
|
|
56
|
-
|
|
71
|
+
LEGACY_STATE_FIELD_NUMBER: _ClassVar[int]
|
|
57
72
|
SUBMITTED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
58
73
|
STARTED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
59
74
|
TASK_SUMMARIES_FIELD_NUMBER: _ClassVar[int]
|
|
60
75
|
AUTOMATION_ID_FIELD_NUMBER: _ClassVar[int]
|
|
61
|
-
|
|
76
|
+
PROGRESS_FIELD_NUMBER: _ClassVar[int]
|
|
77
|
+
STATE_FIELD_NUMBER: _ClassVar[int]
|
|
78
|
+
EXECUTION_STATS_FIELD_NUMBER: _ClassVar[int]
|
|
62
79
|
id: _id_pb2.ID
|
|
63
80
|
name: str
|
|
64
81
|
trace_parent: str
|
|
65
82
|
canceled: bool
|
|
66
|
-
|
|
83
|
+
legacy_state: LegacyJobState
|
|
67
84
|
submitted_at: _timestamp_pb2.Timestamp
|
|
68
85
|
started_at: _timestamp_pb2.Timestamp
|
|
69
86
|
task_summaries: _containers.RepeatedCompositeFieldContainer[TaskSummary]
|
|
70
87
|
automation_id: _id_pb2.ID
|
|
71
|
-
|
|
72
|
-
|
|
88
|
+
progress: _containers.RepeatedCompositeFieldContainer[Progress]
|
|
89
|
+
state: JobState
|
|
90
|
+
execution_stats: ExecutionStats
|
|
91
|
+
def __init__(self, id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., name: _Optional[str] = ..., trace_parent: _Optional[str] = ..., canceled: bool = ..., legacy_state: _Optional[_Union[LegacyJobState, str]] = ..., submitted_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., task_summaries: _Optional[_Iterable[_Union[TaskSummary, _Mapping]]] = ..., automation_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., progress: _Optional[_Iterable[_Union[Progress, _Mapping]]] = ..., state: _Optional[_Union[JobState, str]] = ..., execution_stats: _Optional[_Union[ExecutionStats, _Mapping]] = ...) -> None: ...
|
|
92
|
+
|
|
93
|
+
class ExecutionStats(_message.Message):
|
|
94
|
+
__slots__ = ("first_task_started_at", "last_task_stopped_at", "compute_time", "elapsed_time", "parallelism", "total_tasks", "tasks_by_state")
|
|
95
|
+
FIRST_TASK_STARTED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
96
|
+
LAST_TASK_STOPPED_AT_FIELD_NUMBER: _ClassVar[int]
|
|
97
|
+
COMPUTE_TIME_FIELD_NUMBER: _ClassVar[int]
|
|
98
|
+
ELAPSED_TIME_FIELD_NUMBER: _ClassVar[int]
|
|
99
|
+
PARALLELISM_FIELD_NUMBER: _ClassVar[int]
|
|
100
|
+
TOTAL_TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
101
|
+
TASKS_BY_STATE_FIELD_NUMBER: _ClassVar[int]
|
|
102
|
+
first_task_started_at: _timestamp_pb2.Timestamp
|
|
103
|
+
last_task_stopped_at: _timestamp_pb2.Timestamp
|
|
104
|
+
compute_time: _duration_pb2.Duration
|
|
105
|
+
elapsed_time: _duration_pb2.Duration
|
|
106
|
+
parallelism: float
|
|
107
|
+
total_tasks: int
|
|
108
|
+
tasks_by_state: _containers.RepeatedCompositeFieldContainer[TaskStateCount]
|
|
109
|
+
def __init__(self, first_task_started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., last_task_stopped_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., compute_time: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., elapsed_time: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., parallelism: _Optional[float] = ..., total_tasks: _Optional[int] = ..., tasks_by_state: _Optional[_Iterable[_Union[TaskStateCount, _Mapping]]] = ...) -> None: ...
|
|
110
|
+
|
|
111
|
+
class TaskStateCount(_message.Message):
|
|
112
|
+
__slots__ = ("state", "count")
|
|
113
|
+
STATE_FIELD_NUMBER: _ClassVar[int]
|
|
114
|
+
COUNT_FIELD_NUMBER: _ClassVar[int]
|
|
115
|
+
state: TaskState
|
|
116
|
+
count: int
|
|
117
|
+
def __init__(self, state: _Optional[_Union[TaskState, str]] = ..., count: _Optional[int] = ...) -> None: ...
|
|
73
118
|
|
|
74
119
|
class TaskSummary(_message.Message):
|
|
75
120
|
__slots__ = ("id", "display", "state", "parent_id", "started_at", "stopped_at")
|
|
@@ -87,7 +132,7 @@ class TaskSummary(_message.Message):
|
|
|
87
132
|
stopped_at: _timestamp_pb2.Timestamp
|
|
88
133
|
def __init__(self, id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., display: _Optional[str] = ..., state: _Optional[_Union[TaskState, str]] = ..., parent_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., stopped_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
|
|
89
134
|
|
|
90
|
-
class
|
|
135
|
+
class Progress(_message.Message):
|
|
91
136
|
__slots__ = ("label", "total", "done")
|
|
92
137
|
LABEL_FIELD_NUMBER: _ClassVar[int]
|
|
93
138
|
TOTAL_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -135,21 +180,49 @@ class Tasks(_message.Message):
|
|
|
135
180
|
tasks: _containers.RepeatedCompositeFieldContainer[Task]
|
|
136
181
|
def __init__(self, tasks: _Optional[_Iterable[_Union[Task, _Mapping]]] = ...) -> None: ...
|
|
137
182
|
|
|
138
|
-
class
|
|
139
|
-
__slots__ = ("cluster_slug", "identifier", "
|
|
183
|
+
class SingleTaskSubmission(_message.Message):
|
|
184
|
+
__slots__ = ("cluster_slug", "identifier", "display", "dependencies", "max_retries", "input")
|
|
140
185
|
CLUSTER_SLUG_FIELD_NUMBER: _ClassVar[int]
|
|
141
186
|
IDENTIFIER_FIELD_NUMBER: _ClassVar[int]
|
|
142
|
-
INPUT_FIELD_NUMBER: _ClassVar[int]
|
|
143
187
|
DISPLAY_FIELD_NUMBER: _ClassVar[int]
|
|
144
188
|
DEPENDENCIES_FIELD_NUMBER: _ClassVar[int]
|
|
145
189
|
MAX_RETRIES_FIELD_NUMBER: _ClassVar[int]
|
|
190
|
+
INPUT_FIELD_NUMBER: _ClassVar[int]
|
|
146
191
|
cluster_slug: str
|
|
147
192
|
identifier: TaskIdentifier
|
|
148
|
-
input: bytes
|
|
149
193
|
display: str
|
|
150
194
|
dependencies: _containers.RepeatedScalarFieldContainer[int]
|
|
151
195
|
max_retries: int
|
|
152
|
-
|
|
196
|
+
input: bytes
|
|
197
|
+
def __init__(self, cluster_slug: _Optional[str] = ..., identifier: _Optional[_Union[TaskIdentifier, _Mapping]] = ..., display: _Optional[str] = ..., dependencies: _Optional[_Iterable[int]] = ..., max_retries: _Optional[int] = ..., input: _Optional[bytes] = ...) -> None: ...
|
|
198
|
+
|
|
199
|
+
class TaskSubmissions(_message.Message):
|
|
200
|
+
__slots__ = ("task_groups", "cluster_slug_lookup", "identifier_lookup", "display_lookup")
|
|
201
|
+
TASK_GROUPS_FIELD_NUMBER: _ClassVar[int]
|
|
202
|
+
CLUSTER_SLUG_LOOKUP_FIELD_NUMBER: _ClassVar[int]
|
|
203
|
+
IDENTIFIER_LOOKUP_FIELD_NUMBER: _ClassVar[int]
|
|
204
|
+
DISPLAY_LOOKUP_FIELD_NUMBER: _ClassVar[int]
|
|
205
|
+
task_groups: _containers.RepeatedCompositeFieldContainer[TaskSubmissionGroup]
|
|
206
|
+
cluster_slug_lookup: _containers.RepeatedScalarFieldContainer[str]
|
|
207
|
+
identifier_lookup: _containers.RepeatedCompositeFieldContainer[TaskIdentifier]
|
|
208
|
+
display_lookup: _containers.RepeatedScalarFieldContainer[str]
|
|
209
|
+
def __init__(self, task_groups: _Optional[_Iterable[_Union[TaskSubmissionGroup, _Mapping]]] = ..., cluster_slug_lookup: _Optional[_Iterable[str]] = ..., identifier_lookup: _Optional[_Iterable[_Union[TaskIdentifier, _Mapping]]] = ..., display_lookup: _Optional[_Iterable[str]] = ...) -> None: ...
|
|
210
|
+
|
|
211
|
+
class TaskSubmissionGroup(_message.Message):
|
|
212
|
+
__slots__ = ("dependencies_on_other_groups", "inputs", "identifier_pointers", "cluster_slug_pointers", "display_pointers", "max_retries_values")
|
|
213
|
+
DEPENDENCIES_ON_OTHER_GROUPS_FIELD_NUMBER: _ClassVar[int]
|
|
214
|
+
INPUTS_FIELD_NUMBER: _ClassVar[int]
|
|
215
|
+
IDENTIFIER_POINTERS_FIELD_NUMBER: _ClassVar[int]
|
|
216
|
+
CLUSTER_SLUG_POINTERS_FIELD_NUMBER: _ClassVar[int]
|
|
217
|
+
DISPLAY_POINTERS_FIELD_NUMBER: _ClassVar[int]
|
|
218
|
+
MAX_RETRIES_VALUES_FIELD_NUMBER: _ClassVar[int]
|
|
219
|
+
dependencies_on_other_groups: _containers.RepeatedScalarFieldContainer[int]
|
|
220
|
+
inputs: _containers.RepeatedScalarFieldContainer[bytes]
|
|
221
|
+
identifier_pointers: _containers.RepeatedScalarFieldContainer[int]
|
|
222
|
+
cluster_slug_pointers: _containers.RepeatedScalarFieldContainer[int]
|
|
223
|
+
display_pointers: _containers.RepeatedScalarFieldContainer[int]
|
|
224
|
+
max_retries_values: _containers.RepeatedScalarFieldContainer[int]
|
|
225
|
+
def __init__(self, dependencies_on_other_groups: _Optional[_Iterable[int]] = ..., inputs: _Optional[_Iterable[bytes]] = ..., identifier_pointers: _Optional[_Iterable[int]] = ..., cluster_slug_pointers: _Optional[_Iterable[int]] = ..., display_pointers: _Optional[_Iterable[int]] = ..., max_retries_values: _Optional[_Iterable[int]] = ...) -> None: ...
|
|
153
226
|
|
|
154
227
|
class TaskLease(_message.Message):
|
|
155
228
|
__slots__ = ("lease", "recommended_wait_until_next_extension")
|
|
@@ -29,7 +29,7 @@ from tilebox.workflows.workflows.v1 import core_pb2 as workflows_dot_v1_dot_core
|
|
|
29
29
|
from tilebox.workflows.workflows.v1 import diagram_pb2 as workflows_dot_v1_dot_diagram__pb2
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16workflows/v1/job.proto\x12\x0cworkflows.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x13tilebox/v1/id.proto\x1a\x16tilebox/v1/query.proto\x1a\x17workflows/v1/core.proto\x1a\x1aworkflows/v1/diagram.proto\"\
|
|
32
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16workflows/v1/job.proto\x12\x0cworkflows.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x13tilebox/v1/id.proto\x1a\x16tilebox/v1/query.proto\x1a\x17workflows/v1/core.proto\x1a\x1aworkflows/v1/diagram.proto\"\x9f\x02\n\x10SubmitJobRequest\x12Q\n\x0clegacy_tasks\x18\x01 \x03(\x0b\x32\".workflows.v1.SingleTaskSubmissionB\n\xbaH\x07\x92\x01\x04\x08\x01\x10@R\x0blegacyTasks\x12\x33\n\x05tasks\x18\x05 \x01(\x0b\x32\x1d.workflows.v1.TaskSubmissionsR\x05tasks\x12\"\n\x08job_name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07jobName\x12*\n\x0ctrace_parent\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0btraceParent\x12\x33\n\rautomation_id\x18\x04 \x01(\x0b\x32\x0e.tilebox.v1.IDR\x0c\x61utomationId\">\n\rGetJobRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\"F\n\x15GetJobProgressRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\"@\n\x0fRetryJobRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\"F\n\x10RetryJobResponse\x12\x32\n\x15num_tasks_rescheduled\x18\x01 \x01(\x03R\x13numTasksRescheduled\"A\n\x10\x43\x61ncelJobRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\"\x13\n\x11\x43\x61ncelJobResponse\"\xec\x01\n\x13VisualizeJobRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\x12\x42\n\x0erender_options\x18\x02 \x01(\x0b\x32\x1b.workflows.v1.RenderOptionsR\rrenderOptions\x12\x38\n\x05theme\x18\x03 \x01(\x0e\x32\".workflows.v1.WorkflowDiagramThemeR\x05theme\x12(\n\x10include_job_name\x18\x04 \x01(\x08R\x0eincludeJobName\"\xaf\x02\n\x0cQueryFilters\x12=\n\rtime_interval\x18\x01 \x01(\x0b\x32\x18.tilebox.v1.TimeIntervalR\x0ctimeInterval\x12\x37\n\x0bid_interval\x18\x02 \x01(\x0b\x32\x16.tilebox.v1.IDIntervalR\nidInterval\x12\x35\n\x0e\x61utomation_ids\x18\x03 \x03(\x0b\x32\x0e.tilebox.v1.IDR\rautomationIds\x12.\n\x06states\x18\x04 \x03(\x0e\x32\x16.workflows.v1.JobStateR\x06states\x12\x1b\n\x04name\x18\x05 \x01(\tB\x07\xbaH\x04r\x02\x18\x64R\x04name:#\xbaH \"\x1e\n\rtime_interval\n\x0bid_interval\x10\x01\"{\n\x10QueryJobsRequest\x12\x34\n\x07\x66ilters\x18\x01 \x01(\x0b\x32\x1a.workflows.v1.QueryFiltersR\x07\x66ilters\x12\x31\n\x04page\x18\x02 \x01(\x0b\x32\x16.tilebox.v1.PaginationB\x05\xaa\x01\x02\x08\x01R\x04page\"v\n\x11QueryJobsResponse\x12%\n\x04jobs\x18\x01 \x03(\x0b\x32\x11.workflows.v1.JobR\x04jobs\x12:\n\tnext_page\x18\x03 \x01(\x0b\x32\x16.tilebox.v1.PaginationB\x05\xaa\x01\x02\x08\x01R\x08nextPage\"G\n\x16GetJobPrototypeRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\"w\n\x17GetJobPrototypeResponse\x12\x41\n\nroot_tasks\x18\x01 \x03(\x0b\x32\".workflows.v1.SingleTaskSubmissionR\trootTasks\x12\x19\n\x08job_name\x18\x02 \x01(\tR\x07jobName\"\xc6\x01\n\x0f\x43loneJobRequest\x12-\n\x06job_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x05jobId\x12`\n\x14root_tasks_overrides\x18\x02 \x03(\x0b\x32\".workflows.v1.SingleTaskSubmissionB\n\xbaH\x07\x92\x01\x04\x08\x01\x10@R\x12rootTasksOverrides\x12\"\n\x08job_name\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x07jobName*\xd4\x01\n\x14WorkflowDiagramTheme\x12&\n\"WORKFLOW_DIAGRAM_THEME_UNSPECIFIED\x10\x00\x12 \n\x1cWORKFLOW_DIAGRAM_THEME_LIGHT\x10\x01\x12\x1f\n\x1bWORKFLOW_DIAGRAM_THEME_DARK\x10\x02\x12(\n$WORKFLOW_DIAGRAM_THEME_CONSOLE_LIGHT\x10\x03\x12\'\n#WORKFLOW_DIAGRAM_THEME_CONSOLE_DARK\x10\x04\x32\x9f\x05\n\nJobService\x12>\n\tSubmitJob\x12\x1e.workflows.v1.SubmitJobRequest\x1a\x11.workflows.v1.Job\x12\x38\n\x06GetJob\x12\x1b.workflows.v1.GetJobRequest\x1a\x11.workflows.v1.Job\x12H\n\x0eGetJobProgress\x12#.workflows.v1.GetJobProgressRequest\x1a\x11.workflows.v1.Job\x12I\n\x08RetryJob\x12\x1d.workflows.v1.RetryJobRequest\x1a\x1e.workflows.v1.RetryJobResponse\x12L\n\tCancelJob\x12\x1e.workflows.v1.CancelJobRequest\x1a\x1f.workflows.v1.CancelJobResponse\x12H\n\x0cVisualizeJob\x12!.workflows.v1.VisualizeJobRequest\x1a\x15.workflows.v1.Diagram\x12L\n\tQueryJobs\x12\x1e.workflows.v1.QueryJobsRequest\x1a\x1f.workflows.v1.QueryJobsResponse\x12^\n\x0fGetJobPrototype\x12$.workflows.v1.GetJobPrototypeRequest\x1a%.workflows.v1.GetJobPrototypeResponse\x12<\n\x08\x43loneJob\x12\x1d.workflows.v1.CloneJobRequest\x1a\x11.workflows.v1.JobBr\n\x10\x63om.workflows.v1B\x08JobProtoP\x01\xa2\x02\x03WXX\xaa\x02\x0cWorkflows.V1\xca\x02\x0cWorkflows\\V1\xe2\x02\x18Workflows\\V1\\GPBMetadata\xea\x02\rWorkflows::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07')
|
|
33
33
|
|
|
34
34
|
_globals = globals()
|
|
35
35
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -37,8 +37,8 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'workflows.v1.job_pb2', _glo
|
|
|
37
37
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
38
38
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
39
39
|
_globals['DESCRIPTOR']._serialized_options = b'\n\020com.workflows.v1B\010JobProtoP\001\242\002\003WXX\252\002\014Workflows.V1\312\002\014Workflows\\V1\342\002\030Workflows\\V1\\GPBMetadata\352\002\rWorkflows::V1\222\003\002\010\002'
|
|
40
|
-
_globals['_SUBMITJOBREQUEST'].fields_by_name['
|
|
41
|
-
_globals['_SUBMITJOBREQUEST'].fields_by_name['
|
|
40
|
+
_globals['_SUBMITJOBREQUEST'].fields_by_name['legacy_tasks']._loaded_options = None
|
|
41
|
+
_globals['_SUBMITJOBREQUEST'].fields_by_name['legacy_tasks']._serialized_options = b'\272H\007\222\001\004\010\001\020@'
|
|
42
42
|
_globals['_SUBMITJOBREQUEST'].fields_by_name['job_name']._loaded_options = None
|
|
43
43
|
_globals['_SUBMITJOBREQUEST'].fields_by_name['job_name']._serialized_options = b'\272H\004r\002\020\001'
|
|
44
44
|
_globals['_SUBMITJOBREQUEST'].fields_by_name['trace_parent']._loaded_options = None
|
|
@@ -53,8 +53,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
53
53
|
_globals['_CANCELJOBREQUEST'].fields_by_name['job_id']._serialized_options = b'\272H\003\310\001\001'
|
|
54
54
|
_globals['_VISUALIZEJOBREQUEST'].fields_by_name['job_id']._loaded_options = None
|
|
55
55
|
_globals['_VISUALIZEJOBREQUEST'].fields_by_name['job_id']._serialized_options = b'\272H\003\310\001\001'
|
|
56
|
-
_globals['_QUERYFILTERS'].fields_by_name['
|
|
57
|
-
_globals['_QUERYFILTERS'].fields_by_name['
|
|
56
|
+
_globals['_QUERYFILTERS'].fields_by_name['name']._loaded_options = None
|
|
57
|
+
_globals['_QUERYFILTERS'].fields_by_name['name']._serialized_options = b'\272H\004r\002\030d'
|
|
58
58
|
_globals['_QUERYFILTERS']._loaded_options = None
|
|
59
59
|
_globals['_QUERYFILTERS']._serialized_options = b'\272H \"\036\n\rtime_interval\n\013id_interval\020\001'
|
|
60
60
|
_globals['_QUERYJOBSREQUEST'].fields_by_name['page']._loaded_options = None
|
|
@@ -69,38 +69,36 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
69
69
|
_globals['_CLONEJOBREQUEST'].fields_by_name['root_tasks_overrides']._serialized_options = b'\272H\007\222\001\004\010\001\020@'
|
|
70
70
|
_globals['_CLONEJOBREQUEST'].fields_by_name['job_name']._loaded_options = None
|
|
71
71
|
_globals['_CLONEJOBREQUEST'].fields_by_name['job_name']._serialized_options = b'\272H\004r\002\020\001'
|
|
72
|
-
_globals['_WORKFLOWDIAGRAMTHEME']._serialized_start=
|
|
73
|
-
_globals['_WORKFLOWDIAGRAMTHEME']._serialized_end=
|
|
72
|
+
_globals['_WORKFLOWDIAGRAMTHEME']._serialized_start=2005
|
|
73
|
+
_globals['_WORKFLOWDIAGRAMTHEME']._serialized_end=2217
|
|
74
74
|
_globals['_SUBMITJOBREQUEST']._serialized_start=168
|
|
75
|
-
_globals['_SUBMITJOBREQUEST']._serialized_end=
|
|
76
|
-
_globals['_GETJOBREQUEST']._serialized_start=
|
|
77
|
-
_globals['_GETJOBREQUEST']._serialized_end=
|
|
78
|
-
_globals['_GETJOBPROGRESSREQUEST']._serialized_start=
|
|
79
|
-
_globals['_GETJOBPROGRESSREQUEST']._serialized_end=
|
|
80
|
-
_globals['
|
|
81
|
-
_globals['
|
|
82
|
-
_globals['
|
|
83
|
-
_globals['
|
|
84
|
-
_globals['
|
|
85
|
-
_globals['
|
|
86
|
-
_globals['
|
|
87
|
-
_globals['
|
|
88
|
-
_globals['
|
|
89
|
-
_globals['
|
|
90
|
-
_globals['
|
|
91
|
-
_globals['
|
|
92
|
-
_globals['
|
|
93
|
-
_globals['
|
|
94
|
-
_globals['
|
|
95
|
-
_globals['
|
|
96
|
-
_globals['
|
|
97
|
-
_globals['
|
|
98
|
-
_globals['
|
|
99
|
-
_globals['
|
|
100
|
-
_globals['
|
|
101
|
-
_globals['
|
|
102
|
-
_globals['
|
|
103
|
-
_globals['
|
|
104
|
-
_globals['_JOBSERVICE']._serialized_start=2151
|
|
105
|
-
_globals['_JOBSERVICE']._serialized_end=2748
|
|
75
|
+
_globals['_SUBMITJOBREQUEST']._serialized_end=455
|
|
76
|
+
_globals['_GETJOBREQUEST']._serialized_start=457
|
|
77
|
+
_globals['_GETJOBREQUEST']._serialized_end=519
|
|
78
|
+
_globals['_GETJOBPROGRESSREQUEST']._serialized_start=521
|
|
79
|
+
_globals['_GETJOBPROGRESSREQUEST']._serialized_end=591
|
|
80
|
+
_globals['_RETRYJOBREQUEST']._serialized_start=593
|
|
81
|
+
_globals['_RETRYJOBREQUEST']._serialized_end=657
|
|
82
|
+
_globals['_RETRYJOBRESPONSE']._serialized_start=659
|
|
83
|
+
_globals['_RETRYJOBRESPONSE']._serialized_end=729
|
|
84
|
+
_globals['_CANCELJOBREQUEST']._serialized_start=731
|
|
85
|
+
_globals['_CANCELJOBREQUEST']._serialized_end=796
|
|
86
|
+
_globals['_CANCELJOBRESPONSE']._serialized_start=798
|
|
87
|
+
_globals['_CANCELJOBRESPONSE']._serialized_end=817
|
|
88
|
+
_globals['_VISUALIZEJOBREQUEST']._serialized_start=820
|
|
89
|
+
_globals['_VISUALIZEJOBREQUEST']._serialized_end=1056
|
|
90
|
+
_globals['_QUERYFILTERS']._serialized_start=1059
|
|
91
|
+
_globals['_QUERYFILTERS']._serialized_end=1362
|
|
92
|
+
_globals['_QUERYJOBSREQUEST']._serialized_start=1364
|
|
93
|
+
_globals['_QUERYJOBSREQUEST']._serialized_end=1487
|
|
94
|
+
_globals['_QUERYJOBSRESPONSE']._serialized_start=1489
|
|
95
|
+
_globals['_QUERYJOBSRESPONSE']._serialized_end=1607
|
|
96
|
+
_globals['_GETJOBPROTOTYPEREQUEST']._serialized_start=1609
|
|
97
|
+
_globals['_GETJOBPROTOTYPEREQUEST']._serialized_end=1680
|
|
98
|
+
_globals['_GETJOBPROTOTYPERESPONSE']._serialized_start=1682
|
|
99
|
+
_globals['_GETJOBPROTOTYPERESPONSE']._serialized_end=1801
|
|
100
|
+
_globals['_CLONEJOBREQUEST']._serialized_start=1804
|
|
101
|
+
_globals['_CLONEJOBREQUEST']._serialized_end=2002
|
|
102
|
+
_globals['_JOBSERVICE']._serialized_start=2220
|
|
103
|
+
_globals['_JOBSERVICE']._serialized_end=2891
|
|
106
104
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -26,16 +26,18 @@ WORKFLOW_DIAGRAM_THEME_CONSOLE_LIGHT: WorkflowDiagramTheme
|
|
|
26
26
|
WORKFLOW_DIAGRAM_THEME_CONSOLE_DARK: WorkflowDiagramTheme
|
|
27
27
|
|
|
28
28
|
class SubmitJobRequest(_message.Message):
|
|
29
|
-
__slots__ = ("tasks", "job_name", "trace_parent", "automation_id")
|
|
29
|
+
__slots__ = ("legacy_tasks", "tasks", "job_name", "trace_parent", "automation_id")
|
|
30
|
+
LEGACY_TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
30
31
|
TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
31
32
|
JOB_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
32
33
|
TRACE_PARENT_FIELD_NUMBER: _ClassVar[int]
|
|
33
34
|
AUTOMATION_ID_FIELD_NUMBER: _ClassVar[int]
|
|
34
|
-
|
|
35
|
+
legacy_tasks: _containers.RepeatedCompositeFieldContainer[_core_pb2.SingleTaskSubmission]
|
|
36
|
+
tasks: _core_pb2.TaskSubmissions
|
|
35
37
|
job_name: str
|
|
36
38
|
trace_parent: str
|
|
37
39
|
automation_id: _id_pb2.ID
|
|
38
|
-
def __init__(self,
|
|
40
|
+
def __init__(self, legacy_tasks: _Optional[_Iterable[_Union[_core_pb2.SingleTaskSubmission, _Mapping]]] = ..., tasks: _Optional[_Union[_core_pb2.TaskSubmissions, _Mapping]] = ..., job_name: _Optional[str] = ..., trace_parent: _Optional[str] = ..., automation_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ...) -> None: ...
|
|
39
41
|
|
|
40
42
|
class GetJobRequest(_message.Message):
|
|
41
43
|
__slots__ = ("job_id",)
|
|
@@ -49,12 +51,6 @@ class GetJobProgressRequest(_message.Message):
|
|
|
49
51
|
job_id: _id_pb2.ID
|
|
50
52
|
def __init__(self, job_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ...) -> None: ...
|
|
51
53
|
|
|
52
|
-
class JobProgressResponse(_message.Message):
|
|
53
|
-
__slots__ = ("progress_bars",)
|
|
54
|
-
PROGRESS_BARS_FIELD_NUMBER: _ClassVar[int]
|
|
55
|
-
progress_bars: _containers.RepeatedCompositeFieldContainer[_core_pb2.ProgressBar]
|
|
56
|
-
def __init__(self, progress_bars: _Optional[_Iterable[_Union[_core_pb2.ProgressBar, _Mapping]]] = ...) -> None: ...
|
|
57
|
-
|
|
58
54
|
class RetryJobRequest(_message.Message):
|
|
59
55
|
__slots__ = ("job_id",)
|
|
60
56
|
JOB_ID_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -90,14 +86,18 @@ class VisualizeJobRequest(_message.Message):
|
|
|
90
86
|
def __init__(self, job_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., render_options: _Optional[_Union[_diagram_pb2.RenderOptions, _Mapping]] = ..., theme: _Optional[_Union[WorkflowDiagramTheme, str]] = ..., include_job_name: bool = ...) -> None: ...
|
|
91
87
|
|
|
92
88
|
class QueryFilters(_message.Message):
|
|
93
|
-
__slots__ = ("time_interval", "id_interval", "
|
|
89
|
+
__slots__ = ("time_interval", "id_interval", "automation_ids", "states", "name")
|
|
94
90
|
TIME_INTERVAL_FIELD_NUMBER: _ClassVar[int]
|
|
95
91
|
ID_INTERVAL_FIELD_NUMBER: _ClassVar[int]
|
|
96
|
-
|
|
92
|
+
AUTOMATION_IDS_FIELD_NUMBER: _ClassVar[int]
|
|
93
|
+
STATES_FIELD_NUMBER: _ClassVar[int]
|
|
94
|
+
NAME_FIELD_NUMBER: _ClassVar[int]
|
|
97
95
|
time_interval: _query_pb2.TimeInterval
|
|
98
96
|
id_interval: _query_pb2.IDInterval
|
|
99
|
-
|
|
100
|
-
|
|
97
|
+
automation_ids: _containers.RepeatedCompositeFieldContainer[_id_pb2.ID]
|
|
98
|
+
states: _containers.RepeatedScalarFieldContainer[_core_pb2.JobState]
|
|
99
|
+
name: str
|
|
100
|
+
def __init__(self, time_interval: _Optional[_Union[_query_pb2.TimeInterval, _Mapping]] = ..., id_interval: _Optional[_Union[_query_pb2.IDInterval, _Mapping]] = ..., automation_ids: _Optional[_Iterable[_Union[_id_pb2.ID, _Mapping]]] = ..., states: _Optional[_Iterable[_Union[_core_pb2.JobState, str]]] = ..., name: _Optional[str] = ...) -> None: ...
|
|
101
101
|
|
|
102
102
|
class QueryJobsRequest(_message.Message):
|
|
103
103
|
__slots__ = ("filters", "page")
|
|
@@ -125,9 +125,9 @@ class GetJobPrototypeResponse(_message.Message):
|
|
|
125
125
|
__slots__ = ("root_tasks", "job_name")
|
|
126
126
|
ROOT_TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
127
127
|
JOB_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
128
|
-
root_tasks: _containers.RepeatedCompositeFieldContainer[_core_pb2.
|
|
128
|
+
root_tasks: _containers.RepeatedCompositeFieldContainer[_core_pb2.SingleTaskSubmission]
|
|
129
129
|
job_name: str
|
|
130
|
-
def __init__(self, root_tasks: _Optional[_Iterable[_Union[_core_pb2.
|
|
130
|
+
def __init__(self, root_tasks: _Optional[_Iterable[_Union[_core_pb2.SingleTaskSubmission, _Mapping]]] = ..., job_name: _Optional[str] = ...) -> None: ...
|
|
131
131
|
|
|
132
132
|
class CloneJobRequest(_message.Message):
|
|
133
133
|
__slots__ = ("job_id", "root_tasks_overrides", "job_name")
|
|
@@ -135,6 +135,6 @@ class CloneJobRequest(_message.Message):
|
|
|
135
135
|
ROOT_TASKS_OVERRIDES_FIELD_NUMBER: _ClassVar[int]
|
|
136
136
|
JOB_NAME_FIELD_NUMBER: _ClassVar[int]
|
|
137
137
|
job_id: _id_pb2.ID
|
|
138
|
-
root_tasks_overrides: _containers.RepeatedCompositeFieldContainer[_core_pb2.
|
|
138
|
+
root_tasks_overrides: _containers.RepeatedCompositeFieldContainer[_core_pb2.SingleTaskSubmission]
|
|
139
139
|
job_name: str
|
|
140
|
-
def __init__(self, job_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., root_tasks_overrides: _Optional[_Iterable[_Union[_core_pb2.
|
|
140
|
+
def __init__(self, job_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., root_tasks_overrides: _Optional[_Iterable[_Union[_core_pb2.SingleTaskSubmission, _Mapping]]] = ..., job_name: _Optional[str] = ...) -> None: ...
|
|
@@ -27,6 +27,11 @@ class JobServiceStub(object):
|
|
|
27
27
|
request_serializer=workflows_dot_v1_dot_job__pb2.GetJobRequest.SerializeToString,
|
|
28
28
|
response_deserializer=workflows_dot_v1_dot_core__pb2.Job.FromString,
|
|
29
29
|
_registered_method=True)
|
|
30
|
+
self.GetJobProgress = channel.unary_unary(
|
|
31
|
+
'/workflows.v1.JobService/GetJobProgress',
|
|
32
|
+
request_serializer=workflows_dot_v1_dot_job__pb2.GetJobProgressRequest.SerializeToString,
|
|
33
|
+
response_deserializer=workflows_dot_v1_dot_core__pb2.Job.FromString,
|
|
34
|
+
_registered_method=True)
|
|
30
35
|
self.RetryJob = channel.unary_unary(
|
|
31
36
|
'/workflows.v1.JobService/RetryJob',
|
|
32
37
|
request_serializer=workflows_dot_v1_dot_job__pb2.RetryJobRequest.SerializeToString,
|
|
@@ -75,6 +80,12 @@ class JobServiceServicer(object):
|
|
|
75
80
|
context.set_details('Method not implemented!')
|
|
76
81
|
raise NotImplementedError('Method not implemented!')
|
|
77
82
|
|
|
83
|
+
def GetJobProgress(self, request, context):
|
|
84
|
+
"""Missing associated documentation comment in .proto file."""
|
|
85
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
86
|
+
context.set_details('Method not implemented!')
|
|
87
|
+
raise NotImplementedError('Method not implemented!')
|
|
88
|
+
|
|
78
89
|
def RetryJob(self, request, context):
|
|
79
90
|
"""Missing associated documentation comment in .proto file."""
|
|
80
91
|
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
@@ -124,6 +135,11 @@ def add_JobServiceServicer_to_server(servicer, server):
|
|
|
124
135
|
request_deserializer=workflows_dot_v1_dot_job__pb2.GetJobRequest.FromString,
|
|
125
136
|
response_serializer=workflows_dot_v1_dot_core__pb2.Job.SerializeToString,
|
|
126
137
|
),
|
|
138
|
+
'GetJobProgress': grpc.unary_unary_rpc_method_handler(
|
|
139
|
+
servicer.GetJobProgress,
|
|
140
|
+
request_deserializer=workflows_dot_v1_dot_job__pb2.GetJobProgressRequest.FromString,
|
|
141
|
+
response_serializer=workflows_dot_v1_dot_core__pb2.Job.SerializeToString,
|
|
142
|
+
),
|
|
127
143
|
'RetryJob': grpc.unary_unary_rpc_method_handler(
|
|
128
144
|
servicer.RetryJob,
|
|
129
145
|
request_deserializer=workflows_dot_v1_dot_job__pb2.RetryJobRequest.FromString,
|
|
@@ -220,6 +236,33 @@ class JobService(object):
|
|
|
220
236
|
metadata,
|
|
221
237
|
_registered_method=True)
|
|
222
238
|
|
|
239
|
+
@staticmethod
|
|
240
|
+
def GetJobProgress(request,
|
|
241
|
+
target,
|
|
242
|
+
options=(),
|
|
243
|
+
channel_credentials=None,
|
|
244
|
+
call_credentials=None,
|
|
245
|
+
insecure=False,
|
|
246
|
+
compression=None,
|
|
247
|
+
wait_for_ready=None,
|
|
248
|
+
timeout=None,
|
|
249
|
+
metadata=None):
|
|
250
|
+
return grpc.experimental.unary_unary(
|
|
251
|
+
request,
|
|
252
|
+
target,
|
|
253
|
+
'/workflows.v1.JobService/GetJobProgress',
|
|
254
|
+
workflows_dot_v1_dot_job__pb2.GetJobProgressRequest.SerializeToString,
|
|
255
|
+
workflows_dot_v1_dot_core__pb2.Job.FromString,
|
|
256
|
+
options,
|
|
257
|
+
channel_credentials,
|
|
258
|
+
insecure,
|
|
259
|
+
call_credentials,
|
|
260
|
+
compression,
|
|
261
|
+
wait_for_ready,
|
|
262
|
+
timeout,
|
|
263
|
+
metadata,
|
|
264
|
+
_registered_method=True)
|
|
265
|
+
|
|
223
266
|
@staticmethod
|
|
224
267
|
def RetryJob(request,
|
|
225
268
|
target,
|
|
@@ -28,7 +28,7 @@ from tilebox.datasets.tilebox.v1 import id_pb2 as tilebox_dot_v1_dot_id__pb2
|
|
|
28
28
|
from tilebox.workflows.workflows.v1 import core_pb2 as workflows_dot_v1_dot_core__pb2
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17workflows/v1/task.proto\x12\x0cworkflows.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x13tilebox/v1/id.proto\x1a\x17workflows/v1/core.proto\"\xa6\x01\n\x0fNextTaskRequest\x12\x46\n\rcomputed_task\x18\x01 \x01(\x0b\x32\x1a.workflows.v1.ComputedTaskB\x05\xaa\x01\x02\x08\x01R\x0c\x63omputedTask\x12K\n\x10next_task_to_run\x18\x02 \x01(\x0b\x32\x1b.workflows.v1.NextTaskToRunB\x05\xaa\x01\x02\x08\x01R\rnextTaskToRun\"{\n\rNextTaskToRun\x12*\n\x0c\x63luster_slug\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0b\x63lusterSlug\x12>\n\x0bidentifiers\x18\x02 \x03(\x0b\x32\x1c.workflows.v1.TaskIdentifierR\x0bidentifiers\"\
|
|
31
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17workflows/v1/task.proto\x12\x0cworkflows.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x13tilebox/v1/id.proto\x1a\x17workflows/v1/core.proto\"\xa6\x01\n\x0fNextTaskRequest\x12\x46\n\rcomputed_task\x18\x01 \x01(\x0b\x32\x1a.workflows.v1.ComputedTaskB\x05\xaa\x01\x02\x08\x01R\x0c\x63omputedTask\x12K\n\x10next_task_to_run\x18\x02 \x01(\x0b\x32\x1b.workflows.v1.NextTaskToRunB\x05\xaa\x01\x02\x08\x01R\rnextTaskToRun\"{\n\rNextTaskToRun\x12*\n\x0c\x63luster_slug\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x10\x01R\x0b\x63lusterSlug\x12>\n\x0bidentifiers\x18\x02 \x03(\x0b\x32\x1c.workflows.v1.TaskIdentifierR\x0bidentifiers\"\xa9\x02\n\x0c\x43omputedTask\x12&\n\x02id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x02id\x12\x18\n\x07\x64isplay\x18\x02 \x01(\tR\x07\x64isplay\x12X\n\x10legacy_sub_tasks\x18\x03 \x03(\x0b\x32\".workflows.v1.SingleTaskSubmissionB\n\x18\x01\xbaH\x05\x92\x01\x02\x10@R\x0elegacySubTasks\x12:\n\tsub_tasks\x18\x05 \x01(\x0b\x32\x1d.workflows.v1.TaskSubmissionsR\x08subTasks\x12\x41\n\x10progress_updates\x18\x04 \x03(\x0b\x32\x16.workflows.v1.ProgressR\x0fprogressUpdates\"g\n\x0eIdlingResponse\x12U\n\x19suggested_idling_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x17suggestedIdlingDuration\"\x93\x01\n\x10NextTaskResponse\x12/\n\tnext_task\x18\x01 \x01(\x0b\x32\x12.workflows.v1.TaskR\x08nextTask\x12\x34\n\x06idling\x18\x02 \x01(\x0b\x32\x1c.workflows.v1.IdlingResponseR\x06idling:\x18\xbaH\x15\"\x13\n\tnext_task\n\x06idling\"\xc0\x01\n\x11TaskFailedRequest\x12/\n\x07task_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x06taskId\x12\x18\n\x07\x64isplay\x18\x02 \x01(\tR\x07\x64isplay\x12\x1d\n\ncancel_job\x18\x03 \x01(\x08R\tcancelJob\x12\x41\n\x10progress_updates\x18\x04 \x03(\x0b\x32\x16.workflows.v1.ProgressR\x0fprogressUpdates\"B\n\x11TaskStateResponse\x12-\n\x05state\x18\x01 \x01(\x0e\x32\x17.workflows.v1.TaskStateR\x05state\"\x87\x01\n\x10TaskLeaseRequest\x12/\n\x07task_id\x18\x01 \x01(\x0b\x32\x0e.tilebox.v1.IDB\x06\xbaH\x03\xc8\x01\x01R\x06taskId\x12\x42\n\x0frequested_lease\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0erequestedLease2\xf4\x01\n\x0bTaskService\x12I\n\x08NextTask\x12\x1d.workflows.v1.NextTaskRequest\x1a\x1e.workflows.v1.NextTaskResponse\x12N\n\nTaskFailed\x12\x1f.workflows.v1.TaskFailedRequest\x1a\x1f.workflows.v1.TaskStateResponse\x12J\n\x0f\x45xtendTaskLease\x12\x1e.workflows.v1.TaskLeaseRequest\x1a\x17.workflows.v1.TaskLeaseBs\n\x10\x63om.workflows.v1B\tTaskProtoP\x01\xa2\x02\x03WXX\xaa\x02\x0cWorkflows.V1\xca\x02\x0cWorkflows\\V1\xe2\x02\x18Workflows\\V1\\GPBMetadata\xea\x02\rWorkflows::V1\x92\x03\x02\x08\x02\x62\x08\x65\x64itionsp\xe8\x07')
|
|
32
32
|
|
|
33
33
|
_globals = globals()
|
|
34
34
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -44,8 +44,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
44
44
|
_globals['_NEXTTASKTORUN'].fields_by_name['cluster_slug']._serialized_options = b'\272H\004r\002\020\001'
|
|
45
45
|
_globals['_COMPUTEDTASK'].fields_by_name['id']._loaded_options = None
|
|
46
46
|
_globals['_COMPUTEDTASK'].fields_by_name['id']._serialized_options = b'\272H\003\310\001\001'
|
|
47
|
-
_globals['_COMPUTEDTASK'].fields_by_name['
|
|
48
|
-
_globals['_COMPUTEDTASK'].fields_by_name['
|
|
47
|
+
_globals['_COMPUTEDTASK'].fields_by_name['legacy_sub_tasks']._loaded_options = None
|
|
48
|
+
_globals['_COMPUTEDTASK'].fields_by_name['legacy_sub_tasks']._serialized_options = b'\030\001\272H\005\222\001\002\020@'
|
|
49
49
|
_globals['_NEXTTASKRESPONSE']._loaded_options = None
|
|
50
50
|
_globals['_NEXTTASKRESPONSE']._serialized_options = b'\272H\025\"\023\n\tnext_task\n\006idling'
|
|
51
51
|
_globals['_TASKFAILEDREQUEST'].fields_by_name['task_id']._loaded_options = None
|
|
@@ -57,17 +57,17 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
57
57
|
_globals['_NEXTTASKTORUN']._serialized_start=317
|
|
58
58
|
_globals['_NEXTTASKTORUN']._serialized_end=440
|
|
59
59
|
_globals['_COMPUTEDTASK']._serialized_start=443
|
|
60
|
-
_globals['_COMPUTEDTASK']._serialized_end=
|
|
61
|
-
_globals['_IDLINGRESPONSE']._serialized_start=
|
|
62
|
-
_globals['_IDLINGRESPONSE']._serialized_end=
|
|
63
|
-
_globals['_NEXTTASKRESPONSE']._serialized_start=
|
|
64
|
-
_globals['_NEXTTASKRESPONSE']._serialized_end=
|
|
65
|
-
_globals['_TASKFAILEDREQUEST']._serialized_start=
|
|
66
|
-
_globals['_TASKFAILEDREQUEST']._serialized_end=
|
|
67
|
-
_globals['_TASKSTATERESPONSE']._serialized_start=
|
|
68
|
-
_globals['_TASKSTATERESPONSE']._serialized_end=
|
|
69
|
-
_globals['_TASKLEASEREQUEST']._serialized_start=
|
|
70
|
-
_globals['_TASKLEASEREQUEST']._serialized_end=
|
|
71
|
-
_globals['_TASKSERVICE']._serialized_start=
|
|
72
|
-
_globals['_TASKSERVICE']._serialized_end=
|
|
60
|
+
_globals['_COMPUTEDTASK']._serialized_end=740
|
|
61
|
+
_globals['_IDLINGRESPONSE']._serialized_start=742
|
|
62
|
+
_globals['_IDLINGRESPONSE']._serialized_end=845
|
|
63
|
+
_globals['_NEXTTASKRESPONSE']._serialized_start=848
|
|
64
|
+
_globals['_NEXTTASKRESPONSE']._serialized_end=995
|
|
65
|
+
_globals['_TASKFAILEDREQUEST']._serialized_start=998
|
|
66
|
+
_globals['_TASKFAILEDREQUEST']._serialized_end=1190
|
|
67
|
+
_globals['_TASKSTATERESPONSE']._serialized_start=1192
|
|
68
|
+
_globals['_TASKSTATERESPONSE']._serialized_end=1258
|
|
69
|
+
_globals['_TASKLEASEREQUEST']._serialized_start=1261
|
|
70
|
+
_globals['_TASKLEASEREQUEST']._serialized_end=1396
|
|
71
|
+
_globals['_TASKSERVICE']._serialized_start=1399
|
|
72
|
+
_globals['_TASKSERVICE']._serialized_end=1643
|
|
73
73
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -27,16 +27,18 @@ class NextTaskToRun(_message.Message):
|
|
|
27
27
|
def __init__(self, cluster_slug: _Optional[str] = ..., identifiers: _Optional[_Iterable[_Union[_core_pb2.TaskIdentifier, _Mapping]]] = ...) -> None: ...
|
|
28
28
|
|
|
29
29
|
class ComputedTask(_message.Message):
|
|
30
|
-
__slots__ = ("id", "display", "sub_tasks", "progress_updates")
|
|
30
|
+
__slots__ = ("id", "display", "legacy_sub_tasks", "sub_tasks", "progress_updates")
|
|
31
31
|
ID_FIELD_NUMBER: _ClassVar[int]
|
|
32
32
|
DISPLAY_FIELD_NUMBER: _ClassVar[int]
|
|
33
|
+
LEGACY_SUB_TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
33
34
|
SUB_TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
34
35
|
PROGRESS_UPDATES_FIELD_NUMBER: _ClassVar[int]
|
|
35
36
|
id: _id_pb2.ID
|
|
36
37
|
display: str
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
legacy_sub_tasks: _containers.RepeatedCompositeFieldContainer[_core_pb2.SingleTaskSubmission]
|
|
39
|
+
sub_tasks: _core_pb2.TaskSubmissions
|
|
40
|
+
progress_updates: _containers.RepeatedCompositeFieldContainer[_core_pb2.Progress]
|
|
41
|
+
def __init__(self, id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., display: _Optional[str] = ..., legacy_sub_tasks: _Optional[_Iterable[_Union[_core_pb2.SingleTaskSubmission, _Mapping]]] = ..., sub_tasks: _Optional[_Union[_core_pb2.TaskSubmissions, _Mapping]] = ..., progress_updates: _Optional[_Iterable[_Union[_core_pb2.Progress, _Mapping]]] = ...) -> None: ...
|
|
40
42
|
|
|
41
43
|
class IdlingResponse(_message.Message):
|
|
42
44
|
__slots__ = ("suggested_idling_duration",)
|
|
@@ -61,8 +63,8 @@ class TaskFailedRequest(_message.Message):
|
|
|
61
63
|
task_id: _id_pb2.ID
|
|
62
64
|
display: str
|
|
63
65
|
cancel_job: bool
|
|
64
|
-
progress_updates: _containers.RepeatedCompositeFieldContainer[_core_pb2.
|
|
65
|
-
def __init__(self, task_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., display: _Optional[str] = ..., cancel_job: bool = ..., progress_updates: _Optional[_Iterable[_Union[_core_pb2.
|
|
66
|
+
progress_updates: _containers.RepeatedCompositeFieldContainer[_core_pb2.Progress]
|
|
67
|
+
def __init__(self, task_id: _Optional[_Union[_id_pb2.ID, _Mapping]] = ..., display: _Optional[str] = ..., cancel_job: bool = ..., progress_updates: _Optional[_Iterable[_Union[_core_pb2.Progress, _Mapping]]] = ...) -> None: ...
|
|
66
68
|
|
|
67
69
|
class TaskStateResponse(_message.Message):
|
|
68
70
|
__slots__ = ("state",)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tilebox-workflows
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.45.0
|
|
4
4
|
Summary: Workflow client and task runner for Tilebox
|
|
5
5
|
Project-URL: Homepage, https://tilebox.com
|
|
6
6
|
Project-URL: Documentation, https://docs.tilebox.com/workflows/introduction
|
|
@@ -22,9 +22,11 @@ Requires-Python: >=3.10
|
|
|
22
22
|
Requires-Dist: boto3-stubs[essential]>=1.33
|
|
23
23
|
Requires-Dist: boto3>=1.33
|
|
24
24
|
Requires-Dist: google-cloud-storage>=2.10
|
|
25
|
+
Requires-Dist: ipywidgets>=8.1.7
|
|
25
26
|
Requires-Dist: opentelemetry-api>=1.28
|
|
26
27
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.28
|
|
27
28
|
Requires-Dist: opentelemetry-sdk>=1.28
|
|
29
|
+
Requires-Dist: python-dateutil>=2.9.0.post0
|
|
28
30
|
Requires-Dist: tenacity>=8
|
|
29
31
|
Requires-Dist: tilebox-datasets
|
|
30
32
|
Requires-Dist: tilebox-grpc>=0.28.0
|