indexify 0.3.18__py3-none-any.whl → 0.3.19__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.
- indexify/cli/cli.py +3 -17
- indexify/executor/api_objects.py +12 -0
- indexify/executor/downloader.py +4 -1
- indexify/executor/executor.py +51 -29
- indexify/executor/function_executor/function_executor.py +24 -11
- indexify/executor/function_executor/function_executor_state.py +9 -1
- indexify/executor/function_executor/function_executor_states_container.py +3 -1
- indexify/executor/function_executor/function_executor_status.py +2 -0
- indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py +6 -0
- indexify/executor/function_executor/single_task_runner.py +15 -11
- indexify/executor/function_executor/task_output.py +35 -2
- indexify/executor/grpc/completed_tasks_container.py +26 -0
- indexify/executor/grpc/function_executor_controller.py +421 -0
- indexify/executor/grpc/state_reconciler.py +24 -34
- indexify/executor/grpc/state_reporter.py +35 -32
- indexify/executor/grpc/task_controller.py +449 -0
- indexify/executor/metrics/task_reporter.py +14 -0
- indexify/executor/task_reporter.py +95 -4
- indexify/executor/task_runner.py +1 -0
- indexify/proto/executor_api.proto +63 -5
- indexify/proto/executor_api_pb2.py +40 -30
- indexify/proto/executor_api_pb2.pyi +118 -3
- indexify/proto/executor_api_pb2_grpc.py +47 -0
- {indexify-0.3.18.dist-info → indexify-0.3.19.dist-info}/METADATA +1 -1
- {indexify-0.3.18.dist-info → indexify-0.3.19.dist-info}/RECORD +27 -24
- {indexify-0.3.18.dist-info → indexify-0.3.19.dist-info}/WHEEL +0 -0
- {indexify-0.3.18.dist-info → indexify-0.3.19.dist-info}/entry_points.txt +0 -0
@@ -4,7 +4,7 @@ syntax = "proto3";
|
|
4
4
|
// Existing clients won't find the service if the package name changes.
|
5
5
|
package executor_api_pb;
|
6
6
|
|
7
|
-
// =====
|
7
|
+
// ===== report_executor_state RPC =====
|
8
8
|
|
9
9
|
enum GPUModel {
|
10
10
|
GPU_MODEL_UNKNOWN = 0;
|
@@ -54,7 +54,10 @@ enum FunctionExecutorStatus {
|
|
54
54
|
FUNCTION_EXECUTOR_STATUS_RUNNING_TASK = 5;
|
55
55
|
FUNCTION_EXECUTOR_STATUS_UNHEALTHY = 6;
|
56
56
|
FUNCTION_EXECUTOR_STATUS_STOPPING = 7;
|
57
|
+
// FE is stopped but can be started up.
|
57
58
|
FUNCTION_EXECUTOR_STATUS_STOPPED = 8;
|
59
|
+
// FE is stopped forever, all resources are freed.
|
60
|
+
FUNCTION_EXECUTOR_STATUS_SHUTDOWN = 9;
|
58
61
|
}
|
59
62
|
|
60
63
|
// Immutable information that identifies and describes a Function Executor.
|
@@ -67,11 +70,17 @@ message FunctionExecutorDescription {
|
|
67
70
|
optional string image_uri = 6;
|
68
71
|
repeated string secret_names = 7;
|
69
72
|
optional HostResources resource_limits = 8;
|
73
|
+
// Timeout for customer code duration during FE creation.
|
74
|
+
optional uint32 customer_code_timeout_ms = 9;
|
70
75
|
}
|
71
76
|
|
72
77
|
message FunctionExecutorState {
|
73
78
|
optional FunctionExecutorDescription description = 1;
|
74
79
|
optional FunctionExecutorStatus status = 2;
|
80
|
+
// Human readable message clarifying the status.
|
81
|
+
// Currently it contains error message from customer code
|
82
|
+
// if status is FUNCTION_EXECUTOR_STATUS_STARTUP_FAILED_CUSTOMER_ERROR.
|
83
|
+
optional string status_message = 3;
|
75
84
|
}
|
76
85
|
|
77
86
|
enum ExecutorStatus {
|
@@ -114,7 +123,7 @@ message ReportExecutorStateRequest {
|
|
114
123
|
message ReportExecutorStateResponse {
|
115
124
|
}
|
116
125
|
|
117
|
-
// =====
|
126
|
+
// ===== get_desired_executor_states RPC =====
|
118
127
|
message Task {
|
119
128
|
optional string id = 1;
|
120
129
|
optional string namespace = 2;
|
@@ -124,7 +133,7 @@ message Task {
|
|
124
133
|
optional string graph_invocation_id = 6;
|
125
134
|
optional string input_key = 8;
|
126
135
|
optional string reducer_output_key = 9;
|
127
|
-
optional
|
136
|
+
optional uint32 timeout_ms = 10;
|
128
137
|
}
|
129
138
|
|
130
139
|
message TaskAllocation {
|
@@ -147,6 +156,55 @@ message DesiredExecutorState {
|
|
147
156
|
optional uint64 clock = 3;
|
148
157
|
}
|
149
158
|
|
159
|
+
// ===== report_task_outcome RPC =====
|
160
|
+
enum TaskOutcome {
|
161
|
+
TASK_OUTCOME_UNKNOWN = 0;
|
162
|
+
TASK_OUTCOME_SUCCESS = 1;
|
163
|
+
TASK_OUTCOME_FAILURE = 2;
|
164
|
+
}
|
165
|
+
|
166
|
+
message DataPayload {
|
167
|
+
optional string path = 1;
|
168
|
+
optional uint64 size = 2;
|
169
|
+
optional string sha256_hash = 3;
|
170
|
+
}
|
171
|
+
|
172
|
+
enum OutputEncoding {
|
173
|
+
OUTPUT_ENCODING_UNKNOWN = 0;
|
174
|
+
OUTPUT_ENCODING_JSON = 1;
|
175
|
+
OUTPUT_ENCODING_PICKLE = 2;
|
176
|
+
OUTPUT_ENCODING_BINARY = 3;
|
177
|
+
}
|
178
|
+
|
179
|
+
message ReportTaskOutcomeRequest {
|
180
|
+
optional string task_id = 1;
|
181
|
+
optional string namespace = 2;
|
182
|
+
optional string graph_name = 3;
|
183
|
+
optional string function_name = 4;
|
184
|
+
optional string graph_invocation_id = 6;
|
185
|
+
optional TaskOutcome outcome = 7;
|
186
|
+
optional string invocation_id = 8;
|
187
|
+
optional string executor_id = 9;
|
188
|
+
optional bool reducer = 10;
|
189
|
+
|
190
|
+
// Edges that the function wants the invocation to be routed to.
|
191
|
+
// Previously called router_edges.
|
192
|
+
repeated string next_functions = 11;
|
193
|
+
// Outputs of the function.
|
194
|
+
repeated DataPayload fn_outputs = 12;
|
195
|
+
// Standard output and error streams of the function.
|
196
|
+
optional DataPayload stdout = 14;
|
197
|
+
optional DataPayload stderr = 15;
|
198
|
+
// Output encoding of all the outputs of a function have to be same.
|
199
|
+
optional OutputEncoding output_encoding = 13;
|
200
|
+
// This allows us to change how we encode the output from functions
|
201
|
+
// and serialize them into storage.
|
202
|
+
optional uint64 output_encoding_version = 5;
|
203
|
+
}
|
204
|
+
|
205
|
+
message ReportTaskOutcomeResponse {
|
206
|
+
}
|
207
|
+
|
150
208
|
// Internal API for scheduling and running tasks on Executors. Executors are acting as clients of this API.
|
151
209
|
// Server is responsible for scheduling tasks on Executors and Executors are responsible for running the tasks.
|
152
210
|
//
|
@@ -165,6 +223,6 @@ service ExecutorAPI {
|
|
165
223
|
// Deprecated HTTP API is used to download the serialized graph and task inputs.
|
166
224
|
rpc get_desired_executor_states(GetDesiredExecutorStatesRequest) returns (stream DesiredExecutorState) {}
|
167
225
|
|
168
|
-
//
|
169
|
-
|
226
|
+
// Report the outcome of a task.
|
227
|
+
rpc report_task_outcome(ReportTaskOutcomeRequest) returns (ReportTaskOutcomeResponse) {}
|
170
228
|
}
|
@@ -19,7 +19,7 @@ _sym_db = _symbol_database.Default()
|
|
19
19
|
|
20
20
|
|
21
21
|
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
|
22
|
-
b'\n!indexify/proto/executor_api.proto\x12\x0f\x65xecutor_api_pb"e\n\x0cGPUResources\x12\x12\n\x05\x63ount\x18\x01 \x01(\rH\x00\x88\x01\x01\x12-\n\x05model\x18\x02 \x01(\x0e\x32\x19.executor_api_pb.GPUModelH\x01\x88\x01\x01\x42\x08\n\x06_countB\x08\n\x06_model"\xc2\x01\n\rHostResources\x12\x16\n\tcpu_count\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmemory_bytes\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x17\n\ndisk_bytes\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12/\n\x03gpu\x18\x04 \x01(\x0b\x32\x1d.executor_api_pb.GPUResourcesH\x03\x88\x01\x01\x42\x0c\n\n_cpu_countB\x0f\n\r_memory_bytesB\r\n\x0b_disk_bytesB\x06\n\x04_gpu"\xbb\x01\n\x0f\x41llowedFunction\x12\x16\n\tnamespace\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ngraph_name\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rfunction_name\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x1a\n\rgraph_version\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x0c\n\n_namespaceB\r\n\x0b_graph_nameB\x10\n\x0e_function_nameB\x10\n\x0e_graph_version"\
|
22
|
+
b'\n!indexify/proto/executor_api.proto\x12\x0f\x65xecutor_api_pb"e\n\x0cGPUResources\x12\x12\n\x05\x63ount\x18\x01 \x01(\rH\x00\x88\x01\x01\x12-\n\x05model\x18\x02 \x01(\x0e\x32\x19.executor_api_pb.GPUModelH\x01\x88\x01\x01\x42\x08\n\x06_countB\x08\n\x06_model"\xc2\x01\n\rHostResources\x12\x16\n\tcpu_count\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmemory_bytes\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x17\n\ndisk_bytes\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12/\n\x03gpu\x18\x04 \x01(\x0b\x32\x1d.executor_api_pb.GPUResourcesH\x03\x88\x01\x01\x42\x0c\n\n_cpu_countB\x0f\n\r_memory_bytesB\r\n\x0b_disk_bytesB\x06\n\x04_gpu"\xbb\x01\n\x0f\x41llowedFunction\x12\x16\n\tnamespace\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ngraph_name\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rfunction_name\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x1a\n\rgraph_version\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x0c\n\n_namespaceB\r\n\x0b_graph_nameB\x10\n\x0e_function_nameB\x10\n\x0e_graph_version"\xb1\x03\n\x1b\x46unctionExecutorDescription\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tnamespace\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\ngraph_name\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x1a\n\rgraph_version\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x1a\n\rfunction_name\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x16\n\timage_uri\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x14\n\x0csecret_names\x18\x07 \x03(\t\x12<\n\x0fresource_limits\x18\x08 \x01(\x0b\x32\x1e.executor_api_pb.HostResourcesH\x06\x88\x01\x01\x12%\n\x18\x63ustomer_code_timeout_ms\x18\t \x01(\rH\x07\x88\x01\x01\x42\x05\n\x03_idB\x0c\n\n_namespaceB\r\n\x0b_graph_nameB\x10\n\x0e_graph_versionB\x10\n\x0e_function_nameB\x0c\n\n_image_uriB\x12\n\x10_resource_limitsB\x1b\n\x19_customer_code_timeout_ms"\xe8\x01\n\x15\x46unctionExecutorState\x12\x46\n\x0b\x64\x65scription\x18\x01 \x01(\x0b\x32,.executor_api_pb.FunctionExecutorDescriptionH\x00\x88\x01\x01\x12<\n\x06status\x18\x02 \x01(\x0e\x32\'.executor_api_pb.FunctionExecutorStatusH\x01\x88\x01\x01\x12\x1b\n\x0estatus_message\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x0e\n\x0c_descriptionB\t\n\x07_statusB\x11\n\x0f_status_message"\x9f\x05\n\rExecutorState\x12\x18\n\x0b\x65xecutor_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x64\x65velopment_mode\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x15\n\x08hostname\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x34\n\x06\x66lavor\x18\x04 \x01(\x0e\x32\x1f.executor_api_pb.ExecutorFlavorH\x03\x88\x01\x01\x12\x14\n\x07version\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x34\n\x06status\x18\x06 \x01(\x0e\x32\x1f.executor_api_pb.ExecutorStatusH\x05\x88\x01\x01\x12;\n\x0e\x66ree_resources\x18\x07 \x01(\x0b\x32\x1e.executor_api_pb.HostResourcesH\x06\x88\x01\x01\x12;\n\x11\x61llowed_functions\x18\x08 \x03(\x0b\x32 .executor_api_pb.AllowedFunction\x12H\n\x18\x66unction_executor_states\x18\t \x03(\x0b\x32&.executor_api_pb.FunctionExecutorState\x12:\n\x06labels\x18\n \x03(\x0b\x32*.executor_api_pb.ExecutorState.LabelsEntry\x12\x17\n\nstate_hash\x18\x0b \x01(\tH\x07\x88\x01\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0e\n\x0c_executor_idB\x13\n\x11_development_modeB\x0b\n\t_hostnameB\t\n\x07_flavorB\n\n\x08_versionB\t\n\x07_statusB\x11\n\x0f_free_resourcesB\r\n\x0b_state_hash"l\n\x1aReportExecutorStateRequest\x12;\n\x0e\x65xecutor_state\x18\x01 \x01(\x0b\x32\x1e.executor_api_pb.ExecutorStateH\x00\x88\x01\x01\x42\x11\n\x0f_executor_state"\x1d\n\x1bReportExecutorStateResponse"\x88\x03\n\x04Task\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tnamespace\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\ngraph_name\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x1a\n\rgraph_version\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x1a\n\rfunction_name\x18\x05 \x01(\tH\x04\x88\x01\x01\x12 \n\x13graph_invocation_id\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x16\n\tinput_key\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x1f\n\x12reducer_output_key\x18\t \x01(\tH\x07\x88\x01\x01\x12\x17\n\ntimeout_ms\x18\n \x01(\rH\x08\x88\x01\x01\x42\x05\n\x03_idB\x0c\n\n_namespaceB\r\n\x0b_graph_nameB\x10\n\x0e_graph_versionB\x10\n\x0e_function_nameB\x16\n\x14_graph_invocation_idB\x0c\n\n_input_keyB\x15\n\x13_reducer_output_keyB\r\n\x0b_timeout_ms"\x7f\n\x0eTaskAllocation\x12!\n\x14\x66unction_executor_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12(\n\x04task\x18\x02 \x01(\x0b\x32\x15.executor_api_pb.TaskH\x01\x88\x01\x01\x42\x17\n\x15_function_executor_idB\x07\n\x05_task"K\n\x1fGetDesiredExecutorStatesRequest\x12\x18\n\x0b\x65xecutor_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_executor_id"\xb9\x01\n\x14\x44\x65siredExecutorState\x12H\n\x12\x66unction_executors\x18\x01 \x03(\x0b\x32,.executor_api_pb.FunctionExecutorDescription\x12\x39\n\x10task_allocations\x18\x02 \x03(\x0b\x32\x1f.executor_api_pb.TaskAllocation\x12\x12\n\x05\x63lock\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x08\n\x06_clock"o\n\x0b\x44\x61taPayload\x12\x11\n\x04path\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04size\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x18\n\x0bsha256_hash\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_pathB\x07\n\x05_sizeB\x0e\n\x0c_sha256_hash"\x87\x06\n\x18ReportTaskOutcomeRequest\x12\x14\n\x07task_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tnamespace\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\ngraph_name\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x1a\n\rfunction_name\x18\x04 \x01(\tH\x03\x88\x01\x01\x12 \n\x13graph_invocation_id\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x32\n\x07outcome\x18\x07 \x01(\x0e\x32\x1c.executor_api_pb.TaskOutcomeH\x05\x88\x01\x01\x12\x1a\n\rinvocation_id\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x18\n\x0b\x65xecutor_id\x18\t \x01(\tH\x07\x88\x01\x01\x12\x14\n\x07reducer\x18\n \x01(\x08H\x08\x88\x01\x01\x12\x16\n\x0enext_functions\x18\x0b \x03(\t\x12\x30\n\nfn_outputs\x18\x0c \x03(\x0b\x32\x1c.executor_api_pb.DataPayload\x12\x31\n\x06stdout\x18\x0e \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\t\x88\x01\x01\x12\x31\n\x06stderr\x18\x0f \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\n\x88\x01\x01\x12=\n\x0foutput_encoding\x18\r \x01(\x0e\x32\x1f.executor_api_pb.OutputEncodingH\x0b\x88\x01\x01\x12$\n\x17output_encoding_version\x18\x05 \x01(\x04H\x0c\x88\x01\x01\x42\n\n\x08_task_idB\x0c\n\n_namespaceB\r\n\x0b_graph_nameB\x10\n\x0e_function_nameB\x16\n\x14_graph_invocation_idB\n\n\x08_outcomeB\x10\n\x0e_invocation_idB\x0e\n\x0c_executor_idB\n\n\x08_reducerB\t\n\x07_stdoutB\t\n\x07_stderrB\x12\n\x10_output_encodingB\x1a\n\x18_output_encoding_version"\x1b\n\x19ReportTaskOutcomeResponse*\x86\x03\n\x08GPUModel\x12\x15\n\x11GPU_MODEL_UNKNOWN\x10\x00\x12"\n\x1eGPU_MODEL_NVIDIA_TESLA_T4_16GB\x10\n\x12$\n GPU_MODEL_NVIDIA_TESLA_V100_16GB\x10\x14\x12\x1d\n\x19GPU_MODEL_NVIDIA_A10_24GB\x10\x1e\x12\x1f\n\x1bGPU_MODEL_NVIDIA_A6000_48GB\x10(\x12#\n\x1fGPU_MODEL_NVIDIA_A100_SXM4_40GB\x10\x32\x12#\n\x1fGPU_MODEL_NVIDIA_A100_SXM4_80GB\x10\x33\x12"\n\x1eGPU_MODEL_NVIDIA_A100_PCI_40GB\x10\x34\x12#\n\x1fGPU_MODEL_NVIDIA_H100_SXM5_80GB\x10<\x12"\n\x1eGPU_MODEL_NVIDIA_H100_PCI_80GB\x10=\x12"\n\x1eGPU_MODEL_NVIDIA_RTX_6000_24GB\x10>*\xca\x03\n\x16\x46unctionExecutorStatus\x12$\n FUNCTION_EXECUTOR_STATUS_UNKNOWN\x10\x00\x12(\n$FUNCTION_EXECUTOR_STATUS_STARTING_UP\x10\x01\x12:\n6FUNCTION_EXECUTOR_STATUS_STARTUP_FAILED_CUSTOMER_ERROR\x10\x02\x12:\n6FUNCTION_EXECUTOR_STATUS_STARTUP_FAILED_PLATFORM_ERROR\x10\x03\x12!\n\x1d\x46UNCTION_EXECUTOR_STATUS_IDLE\x10\x04\x12)\n%FUNCTION_EXECUTOR_STATUS_RUNNING_TASK\x10\x05\x12&\n"FUNCTION_EXECUTOR_STATUS_UNHEALTHY\x10\x06\x12%\n!FUNCTION_EXECUTOR_STATUS_STOPPING\x10\x07\x12$\n FUNCTION_EXECUTOR_STATUS_STOPPED\x10\x08\x12%\n!FUNCTION_EXECUTOR_STATUS_SHUTDOWN\x10\t*\xc3\x01\n\x0e\x45xecutorStatus\x12\x1b\n\x17\x45XECUTOR_STATUS_UNKNOWN\x10\x00\x12\x1f\n\x1b\x45XECUTOR_STATUS_STARTING_UP\x10\x01\x12\x1b\n\x17\x45XECUTOR_STATUS_RUNNING\x10\x02\x12\x1b\n\x17\x45XECUTOR_STATUS_DRAINED\x10\x03\x12\x1c\n\x18\x45XECUTOR_STATUS_STOPPING\x10\x04\x12\x1b\n\x17\x45XECUTOR_STATUS_STOPPED\x10\x05*d\n\x0e\x45xecutorFlavor\x12\x1b\n\x17\x45XECUTOR_FLAVOR_UNKNOWN\x10\x00\x12\x17\n\x13\x45XECUTOR_FLAVOR_OSS\x10\x01\x12\x1c\n\x18\x45XECUTOR_FLAVOR_PLATFORM\x10\x02*[\n\x0bTaskOutcome\x12\x18\n\x14TASK_OUTCOME_UNKNOWN\x10\x00\x12\x18\n\x14TASK_OUTCOME_SUCCESS\x10\x01\x12\x18\n\x14TASK_OUTCOME_FAILURE\x10\x02*\x7f\n\x0eOutputEncoding\x12\x1b\n\x17OUTPUT_ENCODING_UNKNOWN\x10\x00\x12\x18\n\x14OUTPUT_ENCODING_JSON\x10\x01\x12\x1a\n\x16OUTPUT_ENCODING_PICKLE\x10\x02\x12\x1a\n\x16OUTPUT_ENCODING_BINARY\x10\x03\x32\xef\x02\n\x0b\x45xecutorAPI\x12t\n\x15report_executor_state\x12+.executor_api_pb.ReportExecutorStateRequest\x1a,.executor_api_pb.ReportExecutorStateResponse"\x00\x12z\n\x1bget_desired_executor_states\x12\x30.executor_api_pb.GetDesiredExecutorStatesRequest\x1a%.executor_api_pb.DesiredExecutorState"\x00\x30\x01\x12n\n\x13report_task_outcome\x12).executor_api_pb.ReportTaskOutcomeRequest\x1a*.executor_api_pb.ReportTaskOutcomeResponse"\x00\x62\x06proto3'
|
23
23
|
)
|
24
24
|
|
25
25
|
_globals = globals()
|
@@ -31,14 +31,18 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
31
31
|
DESCRIPTOR._loaded_options = None
|
32
32
|
_globals["_EXECUTORSTATE_LABELSENTRY"]._loaded_options = None
|
33
33
|
_globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_options = b"8\001"
|
34
|
-
_globals["_GPUMODEL"]._serialized_start =
|
35
|
-
_globals["_GPUMODEL"]._serialized_end =
|
36
|
-
_globals["_FUNCTIONEXECUTORSTATUS"]._serialized_start =
|
37
|
-
_globals["_FUNCTIONEXECUTORSTATUS"]._serialized_end =
|
38
|
-
_globals["_EXECUTORSTATUS"]._serialized_start =
|
39
|
-
_globals["_EXECUTORSTATUS"]._serialized_end =
|
40
|
-
_globals["_EXECUTORFLAVOR"]._serialized_start =
|
41
|
-
_globals["_EXECUTORFLAVOR"]._serialized_end =
|
34
|
+
_globals["_GPUMODEL"]._serialized_start = 3740
|
35
|
+
_globals["_GPUMODEL"]._serialized_end = 4130
|
36
|
+
_globals["_FUNCTIONEXECUTORSTATUS"]._serialized_start = 4133
|
37
|
+
_globals["_FUNCTIONEXECUTORSTATUS"]._serialized_end = 4591
|
38
|
+
_globals["_EXECUTORSTATUS"]._serialized_start = 4594
|
39
|
+
_globals["_EXECUTORSTATUS"]._serialized_end = 4789
|
40
|
+
_globals["_EXECUTORFLAVOR"]._serialized_start = 4791
|
41
|
+
_globals["_EXECUTORFLAVOR"]._serialized_end = 4891
|
42
|
+
_globals["_TASKOUTCOME"]._serialized_start = 4893
|
43
|
+
_globals["_TASKOUTCOME"]._serialized_end = 4984
|
44
|
+
_globals["_OUTPUTENCODING"]._serialized_start = 4986
|
45
|
+
_globals["_OUTPUTENCODING"]._serialized_end = 5113
|
42
46
|
_globals["_GPURESOURCES"]._serialized_start = 54
|
43
47
|
_globals["_GPURESOURCES"]._serialized_end = 155
|
44
48
|
_globals["_HOSTRESOURCES"]._serialized_start = 158
|
@@ -46,25 +50,31 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
46
50
|
_globals["_ALLOWEDFUNCTION"]._serialized_start = 355
|
47
51
|
_globals["_ALLOWEDFUNCTION"]._serialized_end = 542
|
48
52
|
_globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_start = 545
|
49
|
-
_globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_end =
|
50
|
-
_globals["_FUNCTIONEXECUTORSTATE"]._serialized_start =
|
51
|
-
_globals["_FUNCTIONEXECUTORSTATE"]._serialized_end =
|
52
|
-
_globals["_EXECUTORSTATE"]._serialized_start =
|
53
|
-
_globals["_EXECUTORSTATE"]._serialized_end =
|
54
|
-
_globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_start =
|
55
|
-
_globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_end =
|
56
|
-
_globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_start =
|
57
|
-
_globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_end =
|
58
|
-
_globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_start =
|
59
|
-
_globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_end =
|
60
|
-
_globals["_TASK"]._serialized_start =
|
61
|
-
_globals["_TASK"]._serialized_end =
|
62
|
-
_globals["_TASKALLOCATION"]._serialized_start =
|
63
|
-
_globals["_TASKALLOCATION"]._serialized_end =
|
64
|
-
_globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_start =
|
65
|
-
_globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_end =
|
66
|
-
_globals["_DESIREDEXECUTORSTATE"]._serialized_start =
|
67
|
-
_globals["_DESIREDEXECUTORSTATE"]._serialized_end =
|
68
|
-
_globals["
|
69
|
-
_globals["
|
53
|
+
_globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_end = 978
|
54
|
+
_globals["_FUNCTIONEXECUTORSTATE"]._serialized_start = 981
|
55
|
+
_globals["_FUNCTIONEXECUTORSTATE"]._serialized_end = 1213
|
56
|
+
_globals["_EXECUTORSTATE"]._serialized_start = 1216
|
57
|
+
_globals["_EXECUTORSTATE"]._serialized_end = 1887
|
58
|
+
_globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_start = 1724
|
59
|
+
_globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_end = 1769
|
60
|
+
_globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_start = 1889
|
61
|
+
_globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_end = 1997
|
62
|
+
_globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_start = 1999
|
63
|
+
_globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_end = 2028
|
64
|
+
_globals["_TASK"]._serialized_start = 2031
|
65
|
+
_globals["_TASK"]._serialized_end = 2423
|
66
|
+
_globals["_TASKALLOCATION"]._serialized_start = 2425
|
67
|
+
_globals["_TASKALLOCATION"]._serialized_end = 2552
|
68
|
+
_globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_start = 2554
|
69
|
+
_globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_end = 2629
|
70
|
+
_globals["_DESIREDEXECUTORSTATE"]._serialized_start = 2632
|
71
|
+
_globals["_DESIREDEXECUTORSTATE"]._serialized_end = 2817
|
72
|
+
_globals["_DATAPAYLOAD"]._serialized_start = 2819
|
73
|
+
_globals["_DATAPAYLOAD"]._serialized_end = 2930
|
74
|
+
_globals["_REPORTTASKOUTCOMEREQUEST"]._serialized_start = 2933
|
75
|
+
_globals["_REPORTTASKOUTCOMEREQUEST"]._serialized_end = 3708
|
76
|
+
_globals["_REPORTTASKOUTCOMERESPONSE"]._serialized_start = 3710
|
77
|
+
_globals["_REPORTTASKOUTCOMERESPONSE"]._serialized_end = 3737
|
78
|
+
_globals["_EXECUTORAPI"]._serialized_start = 5116
|
79
|
+
_globals["_EXECUTORAPI"]._serialized_end = 5483
|
70
80
|
# @@protoc_insertion_point(module_scope)
|
@@ -40,6 +40,7 @@ class FunctionExecutorStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
40
40
|
FUNCTION_EXECUTOR_STATUS_UNHEALTHY: _ClassVar[FunctionExecutorStatus]
|
41
41
|
FUNCTION_EXECUTOR_STATUS_STOPPING: _ClassVar[FunctionExecutorStatus]
|
42
42
|
FUNCTION_EXECUTOR_STATUS_STOPPED: _ClassVar[FunctionExecutorStatus]
|
43
|
+
FUNCTION_EXECUTOR_STATUS_SHUTDOWN: _ClassVar[FunctionExecutorStatus]
|
43
44
|
|
44
45
|
class ExecutorStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
45
46
|
__slots__ = ()
|
@@ -56,6 +57,19 @@ class ExecutorFlavor(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
56
57
|
EXECUTOR_FLAVOR_OSS: _ClassVar[ExecutorFlavor]
|
57
58
|
EXECUTOR_FLAVOR_PLATFORM: _ClassVar[ExecutorFlavor]
|
58
59
|
|
60
|
+
class TaskOutcome(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
61
|
+
__slots__ = ()
|
62
|
+
TASK_OUTCOME_UNKNOWN: _ClassVar[TaskOutcome]
|
63
|
+
TASK_OUTCOME_SUCCESS: _ClassVar[TaskOutcome]
|
64
|
+
TASK_OUTCOME_FAILURE: _ClassVar[TaskOutcome]
|
65
|
+
|
66
|
+
class OutputEncoding(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
67
|
+
__slots__ = ()
|
68
|
+
OUTPUT_ENCODING_UNKNOWN: _ClassVar[OutputEncoding]
|
69
|
+
OUTPUT_ENCODING_JSON: _ClassVar[OutputEncoding]
|
70
|
+
OUTPUT_ENCODING_PICKLE: _ClassVar[OutputEncoding]
|
71
|
+
OUTPUT_ENCODING_BINARY: _ClassVar[OutputEncoding]
|
72
|
+
|
59
73
|
GPU_MODEL_UNKNOWN: GPUModel
|
60
74
|
GPU_MODEL_NVIDIA_TESLA_T4_16GB: GPUModel
|
61
75
|
GPU_MODEL_NVIDIA_TESLA_V100_16GB: GPUModel
|
@@ -76,6 +90,7 @@ FUNCTION_EXECUTOR_STATUS_RUNNING_TASK: FunctionExecutorStatus
|
|
76
90
|
FUNCTION_EXECUTOR_STATUS_UNHEALTHY: FunctionExecutorStatus
|
77
91
|
FUNCTION_EXECUTOR_STATUS_STOPPING: FunctionExecutorStatus
|
78
92
|
FUNCTION_EXECUTOR_STATUS_STOPPED: FunctionExecutorStatus
|
93
|
+
FUNCTION_EXECUTOR_STATUS_SHUTDOWN: FunctionExecutorStatus
|
79
94
|
EXECUTOR_STATUS_UNKNOWN: ExecutorStatus
|
80
95
|
EXECUTOR_STATUS_STARTING_UP: ExecutorStatus
|
81
96
|
EXECUTOR_STATUS_RUNNING: ExecutorStatus
|
@@ -85,6 +100,13 @@ EXECUTOR_STATUS_STOPPED: ExecutorStatus
|
|
85
100
|
EXECUTOR_FLAVOR_UNKNOWN: ExecutorFlavor
|
86
101
|
EXECUTOR_FLAVOR_OSS: ExecutorFlavor
|
87
102
|
EXECUTOR_FLAVOR_PLATFORM: ExecutorFlavor
|
103
|
+
TASK_OUTCOME_UNKNOWN: TaskOutcome
|
104
|
+
TASK_OUTCOME_SUCCESS: TaskOutcome
|
105
|
+
TASK_OUTCOME_FAILURE: TaskOutcome
|
106
|
+
OUTPUT_ENCODING_UNKNOWN: OutputEncoding
|
107
|
+
OUTPUT_ENCODING_JSON: OutputEncoding
|
108
|
+
OUTPUT_ENCODING_PICKLE: OutputEncoding
|
109
|
+
OUTPUT_ENCODING_BINARY: OutputEncoding
|
88
110
|
|
89
111
|
class GPUResources(_message.Message):
|
90
112
|
__slots__ = ("count", "model")
|
@@ -142,6 +164,7 @@ class FunctionExecutorDescription(_message.Message):
|
|
142
164
|
"image_uri",
|
143
165
|
"secret_names",
|
144
166
|
"resource_limits",
|
167
|
+
"customer_code_timeout_ms",
|
145
168
|
)
|
146
169
|
ID_FIELD_NUMBER: _ClassVar[int]
|
147
170
|
NAMESPACE_FIELD_NUMBER: _ClassVar[int]
|
@@ -151,6 +174,7 @@ class FunctionExecutorDescription(_message.Message):
|
|
151
174
|
IMAGE_URI_FIELD_NUMBER: _ClassVar[int]
|
152
175
|
SECRET_NAMES_FIELD_NUMBER: _ClassVar[int]
|
153
176
|
RESOURCE_LIMITS_FIELD_NUMBER: _ClassVar[int]
|
177
|
+
CUSTOMER_CODE_TIMEOUT_MS_FIELD_NUMBER: _ClassVar[int]
|
154
178
|
id: str
|
155
179
|
namespace: str
|
156
180
|
graph_name: str
|
@@ -159,6 +183,7 @@ class FunctionExecutorDescription(_message.Message):
|
|
159
183
|
image_uri: str
|
160
184
|
secret_names: _containers.RepeatedScalarFieldContainer[str]
|
161
185
|
resource_limits: HostResources
|
186
|
+
customer_code_timeout_ms: int
|
162
187
|
def __init__(
|
163
188
|
self,
|
164
189
|
id: _Optional[str] = ...,
|
@@ -169,18 +194,22 @@ class FunctionExecutorDescription(_message.Message):
|
|
169
194
|
image_uri: _Optional[str] = ...,
|
170
195
|
secret_names: _Optional[_Iterable[str]] = ...,
|
171
196
|
resource_limits: _Optional[_Union[HostResources, _Mapping]] = ...,
|
197
|
+
customer_code_timeout_ms: _Optional[int] = ...,
|
172
198
|
) -> None: ...
|
173
199
|
|
174
200
|
class FunctionExecutorState(_message.Message):
|
175
|
-
__slots__ = ("description", "status")
|
201
|
+
__slots__ = ("description", "status", "status_message")
|
176
202
|
DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
|
177
203
|
STATUS_FIELD_NUMBER: _ClassVar[int]
|
204
|
+
STATUS_MESSAGE_FIELD_NUMBER: _ClassVar[int]
|
178
205
|
description: FunctionExecutorDescription
|
179
206
|
status: FunctionExecutorStatus
|
207
|
+
status_message: str
|
180
208
|
def __init__(
|
181
209
|
self,
|
182
210
|
description: _Optional[_Union[FunctionExecutorDescription, _Mapping]] = ...,
|
183
211
|
status: _Optional[_Union[FunctionExecutorStatus, str]] = ...,
|
212
|
+
status_message: _Optional[str] = ...,
|
184
213
|
) -> None: ...
|
185
214
|
|
186
215
|
class ExecutorState(_message.Message):
|
@@ -292,7 +321,7 @@ class Task(_message.Message):
|
|
292
321
|
graph_invocation_id: str
|
293
322
|
input_key: str
|
294
323
|
reducer_output_key: str
|
295
|
-
timeout_ms:
|
324
|
+
timeout_ms: int
|
296
325
|
def __init__(
|
297
326
|
self,
|
298
327
|
id: _Optional[str] = ...,
|
@@ -303,7 +332,7 @@ class Task(_message.Message):
|
|
303
332
|
graph_invocation_id: _Optional[str] = ...,
|
304
333
|
input_key: _Optional[str] = ...,
|
305
334
|
reducer_output_key: _Optional[str] = ...,
|
306
|
-
timeout_ms: _Optional[
|
335
|
+
timeout_ms: _Optional[int] = ...,
|
307
336
|
) -> None: ...
|
308
337
|
|
309
338
|
class TaskAllocation(_message.Message):
|
@@ -342,3 +371,89 @@ class DesiredExecutorState(_message.Message):
|
|
342
371
|
task_allocations: _Optional[_Iterable[_Union[TaskAllocation, _Mapping]]] = ...,
|
343
372
|
clock: _Optional[int] = ...,
|
344
373
|
) -> None: ...
|
374
|
+
|
375
|
+
class DataPayload(_message.Message):
|
376
|
+
__slots__ = ("path", "size", "sha256_hash")
|
377
|
+
PATH_FIELD_NUMBER: _ClassVar[int]
|
378
|
+
SIZE_FIELD_NUMBER: _ClassVar[int]
|
379
|
+
SHA256_HASH_FIELD_NUMBER: _ClassVar[int]
|
380
|
+
path: str
|
381
|
+
size: int
|
382
|
+
sha256_hash: str
|
383
|
+
def __init__(
|
384
|
+
self,
|
385
|
+
path: _Optional[str] = ...,
|
386
|
+
size: _Optional[int] = ...,
|
387
|
+
sha256_hash: _Optional[str] = ...,
|
388
|
+
) -> None: ...
|
389
|
+
|
390
|
+
class ReportTaskOutcomeRequest(_message.Message):
|
391
|
+
__slots__ = (
|
392
|
+
"task_id",
|
393
|
+
"namespace",
|
394
|
+
"graph_name",
|
395
|
+
"function_name",
|
396
|
+
"graph_invocation_id",
|
397
|
+
"outcome",
|
398
|
+
"invocation_id",
|
399
|
+
"executor_id",
|
400
|
+
"reducer",
|
401
|
+
"next_functions",
|
402
|
+
"fn_outputs",
|
403
|
+
"stdout",
|
404
|
+
"stderr",
|
405
|
+
"output_encoding",
|
406
|
+
"output_encoding_version",
|
407
|
+
)
|
408
|
+
TASK_ID_FIELD_NUMBER: _ClassVar[int]
|
409
|
+
NAMESPACE_FIELD_NUMBER: _ClassVar[int]
|
410
|
+
GRAPH_NAME_FIELD_NUMBER: _ClassVar[int]
|
411
|
+
FUNCTION_NAME_FIELD_NUMBER: _ClassVar[int]
|
412
|
+
GRAPH_INVOCATION_ID_FIELD_NUMBER: _ClassVar[int]
|
413
|
+
OUTCOME_FIELD_NUMBER: _ClassVar[int]
|
414
|
+
INVOCATION_ID_FIELD_NUMBER: _ClassVar[int]
|
415
|
+
EXECUTOR_ID_FIELD_NUMBER: _ClassVar[int]
|
416
|
+
REDUCER_FIELD_NUMBER: _ClassVar[int]
|
417
|
+
NEXT_FUNCTIONS_FIELD_NUMBER: _ClassVar[int]
|
418
|
+
FN_OUTPUTS_FIELD_NUMBER: _ClassVar[int]
|
419
|
+
STDOUT_FIELD_NUMBER: _ClassVar[int]
|
420
|
+
STDERR_FIELD_NUMBER: _ClassVar[int]
|
421
|
+
OUTPUT_ENCODING_FIELD_NUMBER: _ClassVar[int]
|
422
|
+
OUTPUT_ENCODING_VERSION_FIELD_NUMBER: _ClassVar[int]
|
423
|
+
task_id: str
|
424
|
+
namespace: str
|
425
|
+
graph_name: str
|
426
|
+
function_name: str
|
427
|
+
graph_invocation_id: str
|
428
|
+
outcome: TaskOutcome
|
429
|
+
invocation_id: str
|
430
|
+
executor_id: str
|
431
|
+
reducer: bool
|
432
|
+
next_functions: _containers.RepeatedScalarFieldContainer[str]
|
433
|
+
fn_outputs: _containers.RepeatedCompositeFieldContainer[DataPayload]
|
434
|
+
stdout: DataPayload
|
435
|
+
stderr: DataPayload
|
436
|
+
output_encoding: OutputEncoding
|
437
|
+
output_encoding_version: int
|
438
|
+
def __init__(
|
439
|
+
self,
|
440
|
+
task_id: _Optional[str] = ...,
|
441
|
+
namespace: _Optional[str] = ...,
|
442
|
+
graph_name: _Optional[str] = ...,
|
443
|
+
function_name: _Optional[str] = ...,
|
444
|
+
graph_invocation_id: _Optional[str] = ...,
|
445
|
+
outcome: _Optional[_Union[TaskOutcome, str]] = ...,
|
446
|
+
invocation_id: _Optional[str] = ...,
|
447
|
+
executor_id: _Optional[str] = ...,
|
448
|
+
reducer: bool = ...,
|
449
|
+
next_functions: _Optional[_Iterable[str]] = ...,
|
450
|
+
fn_outputs: _Optional[_Iterable[_Union[DataPayload, _Mapping]]] = ...,
|
451
|
+
stdout: _Optional[_Union[DataPayload, _Mapping]] = ...,
|
452
|
+
stderr: _Optional[_Union[DataPayload, _Mapping]] = ...,
|
453
|
+
output_encoding: _Optional[_Union[OutputEncoding, str]] = ...,
|
454
|
+
output_encoding_version: _Optional[int] = ...,
|
455
|
+
) -> None: ...
|
456
|
+
|
457
|
+
class ReportTaskOutcomeResponse(_message.Message):
|
458
|
+
__slots__ = ()
|
459
|
+
def __init__(self) -> None: ...
|
@@ -56,6 +56,12 @@ class ExecutorAPIStub(object):
|
|
56
56
|
response_deserializer=indexify_dot_proto_dot_executor__api__pb2.DesiredExecutorState.FromString,
|
57
57
|
_registered_method=True,
|
58
58
|
)
|
59
|
+
self.report_task_outcome = channel.unary_unary(
|
60
|
+
"/executor_api_pb.ExecutorAPI/report_task_outcome",
|
61
|
+
request_serializer=indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeRequest.SerializeToString,
|
62
|
+
response_deserializer=indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeResponse.FromString,
|
63
|
+
_registered_method=True,
|
64
|
+
)
|
59
65
|
|
60
66
|
|
61
67
|
class ExecutorAPIServicer(object):
|
@@ -86,6 +92,12 @@ class ExecutorAPIServicer(object):
|
|
86
92
|
context.set_details("Method not implemented!")
|
87
93
|
raise NotImplementedError("Method not implemented!")
|
88
94
|
|
95
|
+
def report_task_outcome(self, request, context):
|
96
|
+
"""Report the outcome of a task."""
|
97
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
98
|
+
context.set_details("Method not implemented!")
|
99
|
+
raise NotImplementedError("Method not implemented!")
|
100
|
+
|
89
101
|
|
90
102
|
def add_ExecutorAPIServicer_to_server(servicer, server):
|
91
103
|
rpc_method_handlers = {
|
@@ -99,6 +111,11 @@ def add_ExecutorAPIServicer_to_server(servicer, server):
|
|
99
111
|
request_deserializer=indexify_dot_proto_dot_executor__api__pb2.GetDesiredExecutorStatesRequest.FromString,
|
100
112
|
response_serializer=indexify_dot_proto_dot_executor__api__pb2.DesiredExecutorState.SerializeToString,
|
101
113
|
),
|
114
|
+
"report_task_outcome": grpc.unary_unary_rpc_method_handler(
|
115
|
+
servicer.report_task_outcome,
|
116
|
+
request_deserializer=indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeRequest.FromString,
|
117
|
+
response_serializer=indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeResponse.SerializeToString,
|
118
|
+
),
|
102
119
|
}
|
103
120
|
generic_handler = grpc.method_handlers_generic_handler(
|
104
121
|
"executor_api_pb.ExecutorAPI", rpc_method_handlers
|
@@ -178,3 +195,33 @@ class ExecutorAPI(object):
|
|
178
195
|
metadata,
|
179
196
|
_registered_method=True,
|
180
197
|
)
|
198
|
+
|
199
|
+
@staticmethod
|
200
|
+
def report_task_outcome(
|
201
|
+
request,
|
202
|
+
target,
|
203
|
+
options=(),
|
204
|
+
channel_credentials=None,
|
205
|
+
call_credentials=None,
|
206
|
+
insecure=False,
|
207
|
+
compression=None,
|
208
|
+
wait_for_ready=None,
|
209
|
+
timeout=None,
|
210
|
+
metadata=None,
|
211
|
+
):
|
212
|
+
return grpc.experimental.unary_unary(
|
213
|
+
request,
|
214
|
+
target,
|
215
|
+
"/executor_api_pb.ExecutorAPI/report_task_outcome",
|
216
|
+
indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeRequest.SerializeToString,
|
217
|
+
indexify_dot_proto_dot_executor__api__pb2.ReportTaskOutcomeResponse.FromString,
|
218
|
+
options,
|
219
|
+
channel_credentials,
|
220
|
+
insecure,
|
221
|
+
call_credentials,
|
222
|
+
compression,
|
223
|
+
wait_for_ready,
|
224
|
+
timeout,
|
225
|
+
metadata,
|
226
|
+
_registered_method=True,
|
227
|
+
)
|
@@ -1,13 +1,13 @@
|
|
1
|
-
indexify/cli/cli.py,sha256=
|
1
|
+
indexify/cli/cli.py,sha256=TgXC_ZZPT-MJA7CWH297Y4_5M5SDt2QslPUoMotp3Cc,8708
|
2
2
|
indexify/executor/README.md,sha256=ozC6_hMkhQQNVCMEpBxwiUALz6lwErPQxNxQfQDqnG4,2029
|
3
|
-
indexify/executor/api_objects.py,sha256=
|
4
|
-
indexify/executor/downloader.py,sha256=
|
5
|
-
indexify/executor/executor.py,sha256=
|
3
|
+
indexify/executor/api_objects.py,sha256=qKQMEjr18xIq7yjpnsLPnWXP4KsVQ9O76EsbYoaL_qQ,1507
|
4
|
+
indexify/executor/downloader.py,sha256=59FD2LNUQvl6Ul6m59uTsgE0FWU5t6C2XflaaDcc2FA,9459
|
5
|
+
indexify/executor/executor.py,sha256=jdsp9vP2q8y6rIAIRmwfTXBGW3D5cgaFjfy_tHetJ3k,16035
|
6
6
|
indexify/executor/executor_flavor.py,sha256=uilzDQVVYlQGR1MVnrUC4NevUActDWHdnJkr38M6kTk,118
|
7
|
-
indexify/executor/function_executor/function_executor.py,sha256=
|
8
|
-
indexify/executor/function_executor/function_executor_state.py,sha256=
|
9
|
-
indexify/executor/function_executor/function_executor_states_container.py,sha256=
|
10
|
-
indexify/executor/function_executor/function_executor_status.py,sha256=
|
7
|
+
indexify/executor/function_executor/function_executor.py,sha256=rmqJrz4yihIefVhfbIIu3K6HFjKU3eEvEy2xFICYPp4,11881
|
8
|
+
indexify/executor/function_executor/function_executor_state.py,sha256=ljPm1IrRMJ8hFklwvFp7Xax2HMpUIOHm0DwOxxMcy7U,4336
|
9
|
+
indexify/executor/function_executor/function_executor_states_container.py,sha256=wKehM_GXv3i0WkKNS72JVxXq6s60iqiOCX_Gm0qa9pw,3546
|
10
|
+
indexify/executor/function_executor/function_executor_status.py,sha256=FUu5PcFC-kkVSCYGwzcEmvpPytoM--XUZ9ylVjv79S4,3416
|
11
11
|
indexify/executor/function_executor/health_checker.py,sha256=Fvd1gmrcjyJqP-8vcsUxfnTHQIMNlHeMWCS70PAVr9E,6095
|
12
12
|
indexify/executor/function_executor/invocation_state_client.py,sha256=p-xgM4__cHR1ApvMV9hShrGWee_Je0VDhICZUGjpQY4,9644
|
13
13
|
indexify/executor/function_executor/metrics/function_executor.py,sha256=TDksxLRJr-P9ZKhF2Orsaxzzb4lVIBxFEjd_9Zv53Ng,6313
|
@@ -20,19 +20,22 @@ indexify/executor/function_executor/server/client_configuration.py,sha256=gOywMu
|
|
20
20
|
indexify/executor/function_executor/server/function_executor_server.py,sha256=_DLivLDikupZusRk8gVWDk7fWPT9XjZ4un1yWSlOObs,883
|
21
21
|
indexify/executor/function_executor/server/function_executor_server_factory.py,sha256=cP93a3t1AfGx8qwageNLVdTwG52UOwzYNbbyrPq2TUQ,1692
|
22
22
|
indexify/executor/function_executor/server/subprocess_function_executor_server.py,sha256=JekDOqF7oFD4J6zcN3xB0Dxd1cgpEXMOsb_rKZOeBlI,668
|
23
|
-
indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py,sha256=
|
24
|
-
indexify/executor/function_executor/single_task_runner.py,sha256=
|
23
|
+
indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py,sha256=g1AUbhOoPsdhp_50Ayahdyv1Ix5-nEBE8orOQfkATpM,4470
|
24
|
+
indexify/executor/function_executor/single_task_runner.py,sha256=OY3a2znwtuv0_Pqn9r5ScGhekNn1OquznKmaGnQL71k,13979
|
25
25
|
indexify/executor/function_executor/task_input.py,sha256=wSrHR4m0juiGClQyeVdhRC37QzDt6Rrjq-ZXJkfBi9k,584
|
26
|
-
indexify/executor/function_executor/task_output.py,sha256=
|
26
|
+
indexify/executor/function_executor/task_output.py,sha256=kBRy7eSYzxZ3FYQ9PhA56VtBmhJ7ywePICMx_Vx5ipo,3011
|
27
27
|
indexify/executor/grpc/channel_manager.py,sha256=THamn5VghCxRkXDlu2WEXtC6-SNKGc0xoa718bw9A4k,6257
|
28
|
+
indexify/executor/grpc/completed_tasks_container.py,sha256=0JhWBUyEQXurVWZ1UtxoPDLXceIrcnnTBlSmfG3v0Cs,898
|
29
|
+
indexify/executor/grpc/function_executor_controller.py,sha256=pfxMgyxLR2FFbLjyY5Yib8RSaI_6YeQOdf_VscXLqN0,18645
|
28
30
|
indexify/executor/grpc/metrics/channel_manager.py,sha256=k-WArgklmP5WhjcmFmrgRblB7yc3XlaOXO8owRyV-mw,649
|
29
31
|
indexify/executor/grpc/metrics/state_reporter.py,sha256=GggBEjMzQUYIG95LtTS4fUg1u9jYowkaXoUXppAXucs,543
|
30
|
-
indexify/executor/grpc/state_reconciler.py,sha256=
|
31
|
-
indexify/executor/grpc/state_reporter.py,sha256=
|
32
|
+
indexify/executor/grpc/state_reconciler.py,sha256=XRaZxHy2bX-zIzbJCBg3io_ZlslnGeG61dOk0fhYdJw,12866
|
33
|
+
indexify/executor/grpc/state_reporter.py,sha256=7Z3pFqtXucxqAGX3o004uVG6tYWflsnKx1H2ldfnGT8,10043
|
34
|
+
indexify/executor/grpc/task_controller.py,sha256=fsUiABPuZhGAjdpSKm0AVNIyoRxlJVFd4XDo3GzXEIQ,18483
|
32
35
|
indexify/executor/metrics/downloader.py,sha256=lctPh8xjkXeLEFJnl1hNrD1yEhLhIl5sggsR4Yoe_Zc,2746
|
33
36
|
indexify/executor/metrics/executor.py,sha256=ua-Vv_k1CB4juJdF7tEBQbBMksqWAA3iXKKMKXZUCLk,2369
|
34
37
|
indexify/executor/metrics/task_fetcher.py,sha256=iJEwCLzYr2cuz7hRvNiqaa2nvQP4OrA0hm0iJY0YKG0,736
|
35
|
-
indexify/executor/metrics/task_reporter.py,sha256=
|
38
|
+
indexify/executor/metrics/task_reporter.py,sha256=44VT_c7njXlTtPl4xjlsYrIHpaiVAnvhhQdj56RPU6o,1215
|
36
39
|
indexify/executor/metrics/task_runner.py,sha256=ZGFrl7zzfUdgPZnklxRIbnv9wVcHIQRhOGNqn9V2hSk,2047
|
37
40
|
indexify/executor/monitoring/function_allowlist.py,sha256=wUGeiv3aAGWMlQXzHXq9O6MVHby6Tu-zY4U0MyWiQu0,683
|
38
41
|
indexify/executor/monitoring/handler.py,sha256=Cj1cu_LcsAP0tdviqNhoEtGm4h0OJAxxzW9C2YdNXYU,240
|
@@ -45,13 +48,13 @@ indexify/executor/monitoring/server.py,sha256=yzdYhcxnmY6uTQUMt3vatF5jilN52ZtfFs
|
|
45
48
|
indexify/executor/monitoring/startup_probe_handler.py,sha256=zXXsBU15SMlBx1bSFpxWDfed1VHtKKnwvLQ8-frpG98,425
|
46
49
|
indexify/executor/runtime_probes.py,sha256=bo6Dq6AGZpJH099j0DHtVSDEH80tv3j9MXf3VXSx_p8,2182
|
47
50
|
indexify/executor/task_fetcher.py,sha256=p3iEsWyGi0ZMPAv0183smzOUD1KycQ_dXsyd9mpB9IU,3529
|
48
|
-
indexify/executor/task_reporter.py,sha256=
|
49
|
-
indexify/executor/task_runner.py,sha256=
|
50
|
-
indexify/proto/executor_api.proto,sha256
|
51
|
-
indexify/proto/executor_api_pb2.py,sha256=
|
52
|
-
indexify/proto/executor_api_pb2.pyi,sha256=
|
53
|
-
indexify/proto/executor_api_pb2_grpc.py,sha256=
|
54
|
-
indexify-0.3.
|
55
|
-
indexify-0.3.
|
56
|
-
indexify-0.3.
|
57
|
-
indexify-0.3.
|
51
|
+
indexify/executor/task_reporter.py,sha256=59Bgsjflxzo936KMOj70lGpDhwbUlQDuqqfHEy16kcw,11274
|
52
|
+
indexify/executor/task_runner.py,sha256=2-f6Uupu_aVPg34G27yuiPTC6eE4XnT-qizpzPryzDI,7134
|
53
|
+
indexify/proto/executor_api.proto,sha256=16jEP4VxSaEPWVBx3h2_rel3ltYdgW4SBLvRl-iUe78,8319
|
54
|
+
indexify/proto/executor_api_pb2.py,sha256=dW4zAMZ-YU8aeU77-5ciQ0bTNWDt7v4m6CGQ2VdQZZI,12874
|
55
|
+
indexify/proto/executor_api_pb2.pyi,sha256=6WHUUjsn5y7jJot_y_h3NXy2L04E8Xo-zpO9_tZJcAA,16851
|
56
|
+
indexify/proto/executor_api_pb2_grpc.py,sha256=GGiDtyQlA2382E_ZyKUBYcWNEJHH_RlulieStKfkJXI,9514
|
57
|
+
indexify-0.3.19.dist-info/METADATA,sha256=gii0ukZNSxaQ4jF1J1NtsQOSbisC4lCbIV7hjXSFiqk,1158
|
58
|
+
indexify-0.3.19.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
|
59
|
+
indexify-0.3.19.dist-info/entry_points.txt,sha256=GU9wmsgvN7nQw3N2X0PMYn1RSvF6CrhH9RuC2D8d3Gk,53
|
60
|
+
indexify-0.3.19.dist-info/RECORD,,
|
File without changes
|
File without changes
|