indexify 0.4.21__py3-none-any.whl → 0.4.23__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/executor.py +2 -9
- indexify/executor/blob_store/blob_store.py +110 -26
- indexify/executor/blob_store/local_fs_blob_store.py +41 -1
- indexify/executor/blob_store/metrics/blob_store.py +87 -15
- indexify/executor/blob_store/s3_blob_store.py +112 -1
- indexify/executor/function_executor/function_executor.py +32 -56
- indexify/executor/function_executor/invocation_state_client.py +10 -3
- indexify/executor/function_executor/server/function_executor_server_factory.py +0 -1
- indexify/executor/function_executor_controller/create_function_executor.py +129 -116
- indexify/executor/function_executor_controller/downloads.py +34 -86
- indexify/executor/function_executor_controller/events.py +13 -7
- indexify/executor/function_executor_controller/finalize_task.py +184 -0
- indexify/executor/function_executor_controller/function_executor_controller.py +121 -78
- indexify/executor/function_executor_controller/message_validators.py +10 -3
- indexify/executor/function_executor_controller/metrics/downloads.py +8 -52
- indexify/executor/function_executor_controller/metrics/finalize_task.py +20 -0
- indexify/executor/function_executor_controller/metrics/prepare_task.py +18 -0
- indexify/executor/function_executor_controller/metrics/run_task.py +5 -4
- indexify/executor/function_executor_controller/prepare_task.py +232 -14
- indexify/executor/function_executor_controller/run_task.py +189 -81
- indexify/executor/function_executor_controller/task_info.py +4 -7
- indexify/executor/function_executor_controller/task_input.py +21 -0
- indexify/executor/function_executor_controller/task_output.py +41 -33
- indexify/executor/function_executor_controller/terminate_function_executor.py +6 -1
- indexify/executor/logging.py +69 -0
- indexify/executor/monitoring/metrics.py +22 -0
- indexify/proto/executor_api.proto +11 -3
- indexify/proto/executor_api_pb2.py +54 -54
- indexify/proto/executor_api_pb2.pyi +8 -1
- {indexify-0.4.21.dist-info → indexify-0.4.23.dist-info}/METADATA +6 -7
- {indexify-0.4.21.dist-info → indexify-0.4.23.dist-info}/RECORD +33 -31
- indexify/executor/function_executor_controller/function_executor_startup_output.py +0 -21
- indexify/executor/function_executor_controller/metrics/upload_task_output.py +0 -39
- indexify/executor/function_executor_controller/upload_task_output.py +0 -274
- {indexify-0.4.21.dist-info → indexify-0.4.23.dist-info}/WHEEL +0 -0
- {indexify-0.4.21.dist-info → indexify-0.4.23.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,69 @@
|
|
1
|
+
# Executor logging configuration.
|
2
|
+
import logging
|
3
|
+
import sys
|
4
|
+
import traceback
|
5
|
+
from typing import TextIO
|
6
|
+
|
7
|
+
import structlog
|
8
|
+
|
9
|
+
|
10
|
+
def configure_logging_early():
|
11
|
+
"""Configures standard Python logging module.
|
12
|
+
By default 3rd party modules that are using standard Python logging module
|
13
|
+
(logging.getLogger()) have their log lines dropped unless the module gets configured.
|
14
|
+
Not dropping log lines from 3rd party modules is useful for debugging. E.g. this helps
|
15
|
+
debugging errors in grpc servers if exceptions happen inside grpc module code.
|
16
|
+
"""
|
17
|
+
logging.basicConfig(
|
18
|
+
level=logging.WARNING,
|
19
|
+
# This log message format is a bit similar to the default structlog format.
|
20
|
+
format="%(asctime)s [%(levelname)s] %(message)s logger=%(name)s",
|
21
|
+
datefmt="%Y-%m-%d %H:%M:%S",
|
22
|
+
handlers=[logging.StreamHandler(sys.stdout)],
|
23
|
+
)
|
24
|
+
|
25
|
+
|
26
|
+
def configure_development_mode_logging(compact_tracebacks=True):
|
27
|
+
processors = [
|
28
|
+
structlog.contextvars.merge_contextvars,
|
29
|
+
structlog.processors.add_log_level,
|
30
|
+
structlog.dev.set_exc_info,
|
31
|
+
structlog.processors.TimeStamper(fmt="%Y-%m-%d %H:%M:%S", utc=False),
|
32
|
+
structlog.dev.ConsoleRenderer(
|
33
|
+
exception_formatter=(
|
34
|
+
_compact_traceback_formatter
|
35
|
+
if compact_tracebacks
|
36
|
+
else structlog.dev.rich_traceback
|
37
|
+
),
|
38
|
+
),
|
39
|
+
]
|
40
|
+
structlog.configure(
|
41
|
+
processors=processors,
|
42
|
+
)
|
43
|
+
|
44
|
+
|
45
|
+
def configure_production_mode_logging():
|
46
|
+
processors = [
|
47
|
+
structlog.contextvars.merge_contextvars,
|
48
|
+
structlog.processors.add_log_level,
|
49
|
+
structlog.dev.set_exc_info,
|
50
|
+
structlog.processors.format_exc_info,
|
51
|
+
structlog.processors.TimeStamper(fmt="%Y-%m-%d %H:%M:%S", utc=False),
|
52
|
+
structlog.processors.JSONRenderer(),
|
53
|
+
]
|
54
|
+
structlog.configure(processors=processors)
|
55
|
+
|
56
|
+
|
57
|
+
def _compact_traceback_formatter(
|
58
|
+
sio: TextIO, exc_info: structlog.typing.ExcInfo
|
59
|
+
) -> None:
|
60
|
+
print(
|
61
|
+
"\n (only the frame where the exception was raised is printed by default)",
|
62
|
+
file=sio,
|
63
|
+
)
|
64
|
+
traceback.print_exception(
|
65
|
+
*exc_info,
|
66
|
+
file=sio,
|
67
|
+
limit=-1, # Print only 1 frame where the exception was raised
|
68
|
+
chain=False,
|
69
|
+
)
|
@@ -243,3 +243,25 @@ def _hours_to_sec(hours: int) -> float:
|
|
243
243
|
|
244
244
|
def _days_to_sec(days: int) -> float:
|
245
245
|
return _hours_to_sec(days * 24)
|
246
|
+
|
247
|
+
|
248
|
+
class IdempotentCounterChanger:
|
249
|
+
"""A wrapper that ensures that inc/dec operations on a counter are done only once.
|
250
|
+
|
251
|
+
This is useful for tracking the number of in-progress operations or objects that exist.
|
252
|
+
"""
|
253
|
+
|
254
|
+
def __init__(self, counter: prometheus_client.Counter) -> None:
|
255
|
+
self._counter: prometheus_client.Counter = counter
|
256
|
+
self.is_incremented: bool = False
|
257
|
+
self.is_decremented: bool = False
|
258
|
+
|
259
|
+
def inc(self) -> None:
|
260
|
+
if not self.is_incremented:
|
261
|
+
self._counter.inc()
|
262
|
+
self.is_incremented = True
|
263
|
+
|
264
|
+
def dec(self) -> None:
|
265
|
+
if self.is_incremented and not self.is_decremented:
|
266
|
+
self._counter.dec()
|
267
|
+
self.is_decremented = True
|
@@ -16,12 +16,15 @@ enum DataPayloadEncoding {
|
|
16
16
|
message DataPayload {
|
17
17
|
optional uint64 size = 2;
|
18
18
|
optional string sha256_hash = 3;
|
19
|
-
// URI of the data.
|
19
|
+
// URI of the BLOB where the data is stored.
|
20
20
|
// S3 URI if the data is stored in S3.
|
21
21
|
// Starts with "file://"" prefix if the data is stored on a local file system.
|
22
22
|
optional string uri = 4;
|
23
23
|
optional DataPayloadEncoding encoding = 5;
|
24
|
+
// Not set and ignored by Server right now.
|
24
25
|
optional uint64 encoding_version = 6;
|
26
|
+
// Offset inside the BLOB.
|
27
|
+
optional uint64 offset = 7;
|
25
28
|
}
|
26
29
|
|
27
30
|
// ===== report_executor_state RPC =====
|
@@ -118,6 +121,7 @@ message FunctionExecutorDescription {
|
|
118
121
|
// URI prefix for the startup output payloads.
|
119
122
|
// S3 URI if the data is stored in S3.
|
120
123
|
// Starts with "file://"" prefix followed by an absolute directory path if the data is stored on a local file system.
|
124
|
+
// Deprecated: most probably going to be removed once external FE logs ingestion pipeline gets implemented.
|
121
125
|
optional string output_payload_uri_prefix = 12;
|
122
126
|
}
|
123
127
|
|
@@ -128,6 +132,7 @@ message FunctionExecutorState {
|
|
128
132
|
repeated string allocation_ids_caused_termination = 4;
|
129
133
|
}
|
130
134
|
|
135
|
+
// Deprecated: most probably going to be removed once external FE logs ingestion pipeline gets implemented.
|
131
136
|
message FunctionExecutorUpdate {
|
132
137
|
optional FunctionExecutorDescription description = 1;
|
133
138
|
optional DataPayload startup_stdout = 2;
|
@@ -207,6 +212,8 @@ message Task {
|
|
207
212
|
// Starts with "file://"" prefix followed by an absolute directory path if the data is stored on a local file system.
|
208
213
|
optional string output_payload_uri_prefix = 13;
|
209
214
|
optional TaskRetryPolicy retry_policy = 14;
|
215
|
+
// BLOB URI prefix for the invocation error payloads.
|
216
|
+
optional string invocation_error_payload_uri_prefix = 15;
|
210
217
|
}
|
211
218
|
|
212
219
|
message TaskAllocation {
|
@@ -240,9 +247,10 @@ enum TaskOutcomeCode {
|
|
240
247
|
enum TaskFailureReason {
|
241
248
|
TASK_FAILURE_REASON_UNKNOWN = 0;
|
242
249
|
// Internal error on Executor aka platform error.
|
243
|
-
// Includes grey failures when we can't determine the exact cause.
|
244
250
|
TASK_FAILURE_REASON_INTERNAL_ERROR = 1;
|
245
251
|
// Clear function code failure typically by raising an exception from the function code.
|
252
|
+
// Also a grey failure where we can't determine the exact cause. We attribute these to
|
253
|
+
// functions to prevent service abuse but not billed intenionally failing functions.
|
246
254
|
TASK_FAILURE_REASON_FUNCTION_ERROR = 2;
|
247
255
|
// Function code run time exceeded its configured timeout.
|
248
256
|
TASK_FAILURE_REASON_FUNCTION_TIMEOUT = 3;
|
@@ -268,11 +276,11 @@ message TaskResult {
|
|
268
276
|
repeated string next_functions = 11;
|
269
277
|
repeated DataPayload function_outputs = 12;
|
270
278
|
// Standard output and error streams of the function.
|
279
|
+
// Deprecated: most probably going to be removed once external FE logs ingestion pipeline gets implemented.
|
271
280
|
optional DataPayload stdout = 13;
|
272
281
|
optional DataPayload stderr = 14;
|
273
282
|
// User payload for invocation error if task failed with invocation error.
|
274
283
|
optional DataPayload invocation_error_output = 15;
|
275
|
-
|
276
284
|
optional uint64 execution_duration_ms = 16;
|
277
285
|
}
|
278
286
|
|
@@ -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"\xeb\x01\n\x0b\x44\x61taPayload\x12\x11\n\x04size\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x18\n\x0bsha256_hash\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x03uri\x18\x04 \x01(\tH\x02\x88\x01\x01\x12;\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32$.executor_api_pb.DataPayloadEncodingH\x03\x88\x01\x01\x12\x1d\n\x10\x65ncoding_version\x18\x06 \x01(\x04H\x04\x88\x01\x01\x42\x07\n\x05_sizeB\x0e\n\x0c_sha256_hashB\x06\n\x04_uriB\x0b\n\t_encodingB\x13\n\x11_encoding_version"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"\xd8\x01\n\x19\x46unctionExecutorResources\x12\x1b\n\x0e\x63pu_ms_per_sec\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\x11\n\x0f_cpu_ms_per_secB\x0f\n\r_memory_bytesB\r\n\x0b_disk_bytesB\x06\n\x04_gpu"\xb3\x04\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\x18\x63ustomer_code_timeout_ms\x18\t \x01(\rH\x06\x88\x01\x01\x12\x30\n\x05graph\x18\n \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x07\x88\x01\x01\x12\x42\n\tresources\x18\x0b \x01(\x0b\x32*.executor_api_pb.FunctionExecutorResourcesH\x08\x88\x01\x01\x12&\n\x19output_payload_uri_prefix\x18\x0c \x01(\tH\t\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\x1b\n\x19_customer_code_timeout_msB\x08\n\x06_graphB\x0c\n\n_resourcesB\x1c\n\x1a_output_payload_uri_prefix"\xcf\x02\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\x12S\n\x12termination_reason\x18\x03 \x01(\x0e\x32\x32.executor_api_pb.FunctionExecutorTerminationReasonH\x02\x88\x01\x01\x12)\n!allocation_ids_caused_termination\x18\x04 \x03(\tB\x0e\n\x0c_descriptionB\t\n\x07_statusB\x15\n\x13_termination_reason"\x8c\x02\n\x16\x46unctionExecutorUpdate\x12\x46\n\x0b\x64\x65scription\x18\x01 \x01(\x0b\x32,.executor_api_pb.FunctionExecutorDescriptionH\x00\x88\x01\x01\x12\x39\n\x0estartup_stdout\x18\x02 \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x01\x88\x01\x01\x12\x39\n\x0estartup_stderr\x18\x03 \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x02\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x11\n\x0f_startup_stdoutB\x11\n\x0f_startup_stderr"\xce\x05\n\rExecutorState\x12\x18\n\x0b\x65xecutor_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08hostname\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07version\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x34\n\x06status\x18\x06 \x01(\x0e\x32\x1f.executor_api_pb.ExecutorStatusH\x03\x88\x01\x01\x12<\n\x0ftotal_resources\x18\r \x01(\x0b\x32\x1e.executor_api_pb.HostResourcesH\x04\x88\x01\x01\x12N\n!total_function_executor_resources\x18\x07 \x01(\x0b\x32\x1e.executor_api_pb.HostResourcesH\x05\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\x06\x88\x01\x01\x12\x19\n\x0cserver_clock\x18\x0c \x01(\x04H\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\x0b\n\t_hostnameB\n\n\x08_versionB\t\n\x07_statusB\x12\n\x10_total_resourcesB$\n"_total_function_executor_resourcesB\r\n\x0b_state_hashB\x0f\n\r_server_clock"\xb9\x01\n\x0e\x45xecutorUpdate\x12\x18\n\x0b\x65xecutor_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x0ctask_results\x18\x02 \x03(\x0b\x32\x1b.executor_api_pb.TaskResult\x12J\n\x19\x66unction_executor_updates\x18\x03 \x03(\x0b\x32\'.executor_api_pb.FunctionExecutorUpdateB\x0e\n\x0c_executor_id"\xbf\x01\n\x1aReportExecutorStateRequest\x12;\n\x0e\x65xecutor_state\x18\x01 \x01(\x0b\x32\x1e.executor_api_pb.ExecutorStateH\x00\x88\x01\x01\x12=\n\x0f\x65xecutor_update\x18\x02 \x01(\x0b\x32\x1f.executor_api_pb.ExecutorUpdateH\x01\x88\x01\x01\x42\x11\n\x0f_executor_stateB\x12\n\x10_executor_update"\x1d\n\x1bReportExecutorStateResponse"\xcf\x01\n\x0fTaskRetryPolicy\x12\x18\n\x0bmax_retries\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x1d\n\x10initial_delay_ms\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x19\n\x0cmax_delay_ms\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x1d\n\x10\x64\x65lay_multiplier\x18\x04 \x01(\rH\x03\x88\x01\x01\x42\x0e\n\x0c_max_retriesB\x13\n\x11_initial_delay_msB\x0f\n\r_max_delay_msB\x13\n\x11_delay_multiplier"\xc6\x04\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\x17\n\ntimeout_ms\x18\n \x01(\rH\x06\x88\x01\x01\x12\x30\n\x05input\x18\x0b \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x07\x88\x01\x01\x12\x38\n\rreducer_input\x18\x0c \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x08\x88\x01\x01\x12&\n\x19output_payload_uri_prefix\x18\r \x01(\tH\t\x88\x01\x01\x12;\n\x0cretry_policy\x18\x0e \x01(\x0b\x32 .executor_api_pb.TaskRetryPolicyH\n\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\r\n\x0b_timeout_msB\x08\n\x06_inputB\x10\n\x0e_reducer_inputB\x1c\n\x1a_output_payload_uri_prefixB\x0f\n\r_retry_policy"\xad\x01\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\x12\x1a\n\rallocation_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x17\n\x15_function_executor_idB\x07\n\x05_taskB\x10\n\x0e_allocation_id"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"\xcc\x06\n\nTaskResult\x12\x14\n\x07task_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rallocation_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x16\n\tnamespace\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x17\n\ngraph_name\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x1a\n\rgraph_version\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rfunction_name\x18\x06 \x01(\tH\x05\x88\x01\x01\x12 \n\x13graph_invocation_id\x18\x07 \x01(\tH\x06\x88\x01\x01\x12;\n\x0coutcome_code\x18\t \x01(\x0e\x32 .executor_api_pb.TaskOutcomeCodeH\x07\x88\x01\x01\x12?\n\x0e\x66\x61ilure_reason\x18\n \x01(\x0e\x32".executor_api_pb.TaskFailureReasonH\x08\x88\x01\x01\x12\x16\n\x0enext_functions\x18\x0b \x03(\t\x12\x36\n\x10\x66unction_outputs\x18\x0c \x03(\x0b\x32\x1c.executor_api_pb.DataPayload\x12\x31\n\x06stdout\x18\r \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\t\x88\x01\x01\x12\x31\n\x06stderr\x18\x0e \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\n\x88\x01\x01\x12\x42\n\x17invocation_error_output\x18\x0f \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x0b\x88\x01\x01\x12"\n\x15\x65xecution_duration_ms\x18\x10 \x01(\x04H\x0c\x88\x01\x01\x42\n\n\x08_task_idB\x10\n\x0e_allocation_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\x0f\n\r_outcome_codeB\x11\n\x0f_failure_reasonB\t\n\x07_stdoutB\t\n\x07_stderrB\x1a\n\x18_invocation_error_outputB\x18\n\x16_execution_duration_ms*\xd1\x01\n\x13\x44\x61taPayloadEncoding\x12!\n\x1d\x44\x41TA_PAYLOAD_ENCODING_UNKNOWN\x10\x00\x12#\n\x1f\x44\x41TA_PAYLOAD_ENCODING_UTF8_JSON\x10\x01\x12#\n\x1f\x44\x41TA_PAYLOAD_ENCODING_UTF8_TEXT\x10\x02\x12\'\n#DATA_PAYLOAD_ENCODING_BINARY_PICKLE\x10\x03\x12$\n DATA_PAYLOAD_ENCODING_BINARY_ZIP\x10\x04*\xd6\x01\n\x08GPUModel\x12\x15\n\x11GPU_MODEL_UNKNOWN\x10\x00\x12\x1e\n\x1aGPU_MODEL_NVIDIA_A100_40GB\x10\x01\x12\x1e\n\x1aGPU_MODEL_NVIDIA_A100_80GB\x10\x02\x12\x1e\n\x1aGPU_MODEL_NVIDIA_H100_80GB\x10\x03\x12\x1d\n\x19GPU_MODEL_NVIDIA_TESLA_T4\x10\x04\x12\x1a\n\x16GPU_MODEL_NVIDIA_A6000\x10\x05\x12\x18\n\x14GPU_MODEL_NVIDIA_A10\x10\x06*\xb3\x01\n\x16\x46unctionExecutorStatus\x12$\n FUNCTION_EXECUTOR_STATUS_UNKNOWN\x10\x00\x12$\n FUNCTION_EXECUTOR_STATUS_PENDING\x10\x01\x12$\n FUNCTION_EXECUTOR_STATUS_RUNNING\x10\x02\x12\'\n#FUNCTION_EXECUTOR_STATUS_TERMINATED\x10\x03*\x94\x04\n!FunctionExecutorTerminationReason\x12\x30\n,FUNCTION_EXECUTOR_TERMINATION_REASON_UNKNOWN\x10\x00\x12\x46\nBFUNCTION_EXECUTOR_TERMINATION_REASON_STARTUP_FAILED_INTERNAL_ERROR\x10\x01\x12\x46\nBFUNCTION_EXECUTOR_TERMINATION_REASON_STARTUP_FAILED_FUNCTION_ERROR\x10\x02\x12H\nDFUNCTION_EXECUTOR_TERMINATION_REASON_STARTUP_FAILED_FUNCTION_TIMEOUT\x10\x03\x12\x32\n.FUNCTION_EXECUTOR_TERMINATION_REASON_UNHEALTHY\x10\x0c\x12\x37\n3FUNCTION_EXECUTOR_TERMINATION_REASON_INTERNAL_ERROR\x10\r\x12\x39\n5FUNCTION_EXECUTOR_TERMINATION_REASON_FUNCTION_TIMEOUT\x10\x0e\x12;\n7FUNCTION_EXECUTOR_TERMINATION_REASON_FUNCTION_CANCELLED\x10\x0f*\xa5\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\x1b\n\x17\x45XECUTOR_STATUS_STOPPED\x10\x04*n\n\x0fTaskOutcomeCode\x12\x1d\n\x19TASK_OUTCOME_CODE_UNKNOWN\x10\x00\x12\x1d\n\x19TASK_OUTCOME_CODE_SUCCESS\x10\x01\x12\x1d\n\x19TASK_OUTCOME_CODE_FAILURE\x10\x02*\xb6\x02\n\x11TaskFailureReason\x12\x1f\n\x1bTASK_FAILURE_REASON_UNKNOWN\x10\x00\x12&\n"TASK_FAILURE_REASON_INTERNAL_ERROR\x10\x01\x12&\n"TASK_FAILURE_REASON_FUNCTION_ERROR\x10\x02\x12(\n$TASK_FAILURE_REASON_FUNCTION_TIMEOUT\x10\x03\x12(\n$TASK_FAILURE_REASON_INVOCATION_ERROR\x10\x04\x12&\n"TASK_FAILURE_REASON_TASK_CANCELLED\x10\x05\x12\x34\n0TASK_FAILURE_REASON_FUNCTION_EXECUTOR_TERMINATED\x10\x06\x32\xff\x01\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\x62\x06proto3'
|
22
|
+
b'\n!indexify/proto/executor_api.proto\x12\x0f\x65xecutor_api_pb"\x8b\x02\n\x0b\x44\x61taPayload\x12\x11\n\x04size\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x18\n\x0bsha256_hash\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x03uri\x18\x04 \x01(\tH\x02\x88\x01\x01\x12;\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32$.executor_api_pb.DataPayloadEncodingH\x03\x88\x01\x01\x12\x1d\n\x10\x65ncoding_version\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06offset\x18\x07 \x01(\x04H\x05\x88\x01\x01\x42\x07\n\x05_sizeB\x0e\n\x0c_sha256_hashB\x06\n\x04_uriB\x0b\n\t_encodingB\x13\n\x11_encoding_versionB\t\n\x07_offset"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"\xd8\x01\n\x19\x46unctionExecutorResources\x12\x1b\n\x0e\x63pu_ms_per_sec\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\x11\n\x0f_cpu_ms_per_secB\x0f\n\r_memory_bytesB\r\n\x0b_disk_bytesB\x06\n\x04_gpu"\xb3\x04\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\x18\x63ustomer_code_timeout_ms\x18\t \x01(\rH\x06\x88\x01\x01\x12\x30\n\x05graph\x18\n \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x07\x88\x01\x01\x12\x42\n\tresources\x18\x0b \x01(\x0b\x32*.executor_api_pb.FunctionExecutorResourcesH\x08\x88\x01\x01\x12&\n\x19output_payload_uri_prefix\x18\x0c \x01(\tH\t\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\x1b\n\x19_customer_code_timeout_msB\x08\n\x06_graphB\x0c\n\n_resourcesB\x1c\n\x1a_output_payload_uri_prefix"\xcf\x02\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\x12S\n\x12termination_reason\x18\x03 \x01(\x0e\x32\x32.executor_api_pb.FunctionExecutorTerminationReasonH\x02\x88\x01\x01\x12)\n!allocation_ids_caused_termination\x18\x04 \x03(\tB\x0e\n\x0c_descriptionB\t\n\x07_statusB\x15\n\x13_termination_reason"\x8c\x02\n\x16\x46unctionExecutorUpdate\x12\x46\n\x0b\x64\x65scription\x18\x01 \x01(\x0b\x32,.executor_api_pb.FunctionExecutorDescriptionH\x00\x88\x01\x01\x12\x39\n\x0estartup_stdout\x18\x02 \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x01\x88\x01\x01\x12\x39\n\x0estartup_stderr\x18\x03 \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x02\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x11\n\x0f_startup_stdoutB\x11\n\x0f_startup_stderr"\xce\x05\n\rExecutorState\x12\x18\n\x0b\x65xecutor_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08hostname\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07version\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x34\n\x06status\x18\x06 \x01(\x0e\x32\x1f.executor_api_pb.ExecutorStatusH\x03\x88\x01\x01\x12<\n\x0ftotal_resources\x18\r \x01(\x0b\x32\x1e.executor_api_pb.HostResourcesH\x04\x88\x01\x01\x12N\n!total_function_executor_resources\x18\x07 \x01(\x0b\x32\x1e.executor_api_pb.HostResourcesH\x05\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\x06\x88\x01\x01\x12\x19\n\x0cserver_clock\x18\x0c \x01(\x04H\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\x0b\n\t_hostnameB\n\n\x08_versionB\t\n\x07_statusB\x12\n\x10_total_resourcesB$\n"_total_function_executor_resourcesB\r\n\x0b_state_hashB\x0f\n\r_server_clock"\xb9\x01\n\x0e\x45xecutorUpdate\x12\x18\n\x0b\x65xecutor_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x0ctask_results\x18\x02 \x03(\x0b\x32\x1b.executor_api_pb.TaskResult\x12J\n\x19\x66unction_executor_updates\x18\x03 \x03(\x0b\x32\'.executor_api_pb.FunctionExecutorUpdateB\x0e\n\x0c_executor_id"\xbf\x01\n\x1aReportExecutorStateRequest\x12;\n\x0e\x65xecutor_state\x18\x01 \x01(\x0b\x32\x1e.executor_api_pb.ExecutorStateH\x00\x88\x01\x01\x12=\n\x0f\x65xecutor_update\x18\x02 \x01(\x0b\x32\x1f.executor_api_pb.ExecutorUpdateH\x01\x88\x01\x01\x42\x11\n\x0f_executor_stateB\x12\n\x10_executor_update"\x1d\n\x1bReportExecutorStateResponse"\xcf\x01\n\x0fTaskRetryPolicy\x12\x18\n\x0bmax_retries\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x1d\n\x10initial_delay_ms\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x19\n\x0cmax_delay_ms\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x1d\n\x10\x64\x65lay_multiplier\x18\x04 \x01(\rH\x03\x88\x01\x01\x42\x0e\n\x0c_max_retriesB\x13\n\x11_initial_delay_msB\x0f\n\r_max_delay_msB\x13\n\x11_delay_multiplier"\xa0\x05\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\x17\n\ntimeout_ms\x18\n \x01(\rH\x06\x88\x01\x01\x12\x30\n\x05input\x18\x0b \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x07\x88\x01\x01\x12\x38\n\rreducer_input\x18\x0c \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x08\x88\x01\x01\x12&\n\x19output_payload_uri_prefix\x18\r \x01(\tH\t\x88\x01\x01\x12;\n\x0cretry_policy\x18\x0e \x01(\x0b\x32 .executor_api_pb.TaskRetryPolicyH\n\x88\x01\x01\x12\x30\n#invocation_error_payload_uri_prefix\x18\x0f \x01(\tH\x0b\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\r\n\x0b_timeout_msB\x08\n\x06_inputB\x10\n\x0e_reducer_inputB\x1c\n\x1a_output_payload_uri_prefixB\x0f\n\r_retry_policyB&\n$_invocation_error_payload_uri_prefix"\xad\x01\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\x12\x1a\n\rallocation_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x17\n\x15_function_executor_idB\x07\n\x05_taskB\x10\n\x0e_allocation_id"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"\xcc\x06\n\nTaskResult\x12\x14\n\x07task_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rallocation_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x16\n\tnamespace\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x17\n\ngraph_name\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x1a\n\rgraph_version\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rfunction_name\x18\x06 \x01(\tH\x05\x88\x01\x01\x12 \n\x13graph_invocation_id\x18\x07 \x01(\tH\x06\x88\x01\x01\x12;\n\x0coutcome_code\x18\t \x01(\x0e\x32 .executor_api_pb.TaskOutcomeCodeH\x07\x88\x01\x01\x12?\n\x0e\x66\x61ilure_reason\x18\n \x01(\x0e\x32".executor_api_pb.TaskFailureReasonH\x08\x88\x01\x01\x12\x16\n\x0enext_functions\x18\x0b \x03(\t\x12\x36\n\x10\x66unction_outputs\x18\x0c \x03(\x0b\x32\x1c.executor_api_pb.DataPayload\x12\x31\n\x06stdout\x18\r \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\t\x88\x01\x01\x12\x31\n\x06stderr\x18\x0e \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\n\x88\x01\x01\x12\x42\n\x17invocation_error_output\x18\x0f \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x0b\x88\x01\x01\x12"\n\x15\x65xecution_duration_ms\x18\x10 \x01(\x04H\x0c\x88\x01\x01\x42\n\n\x08_task_idB\x10\n\x0e_allocation_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\x0f\n\r_outcome_codeB\x11\n\x0f_failure_reasonB\t\n\x07_stdoutB\t\n\x07_stderrB\x1a\n\x18_invocation_error_outputB\x18\n\x16_execution_duration_ms*\xd1\x01\n\x13\x44\x61taPayloadEncoding\x12!\n\x1d\x44\x41TA_PAYLOAD_ENCODING_UNKNOWN\x10\x00\x12#\n\x1f\x44\x41TA_PAYLOAD_ENCODING_UTF8_JSON\x10\x01\x12#\n\x1f\x44\x41TA_PAYLOAD_ENCODING_UTF8_TEXT\x10\x02\x12\'\n#DATA_PAYLOAD_ENCODING_BINARY_PICKLE\x10\x03\x12$\n DATA_PAYLOAD_ENCODING_BINARY_ZIP\x10\x04*\xd6\x01\n\x08GPUModel\x12\x15\n\x11GPU_MODEL_UNKNOWN\x10\x00\x12\x1e\n\x1aGPU_MODEL_NVIDIA_A100_40GB\x10\x01\x12\x1e\n\x1aGPU_MODEL_NVIDIA_A100_80GB\x10\x02\x12\x1e\n\x1aGPU_MODEL_NVIDIA_H100_80GB\x10\x03\x12\x1d\n\x19GPU_MODEL_NVIDIA_TESLA_T4\x10\x04\x12\x1a\n\x16GPU_MODEL_NVIDIA_A6000\x10\x05\x12\x18\n\x14GPU_MODEL_NVIDIA_A10\x10\x06*\xb3\x01\n\x16\x46unctionExecutorStatus\x12$\n FUNCTION_EXECUTOR_STATUS_UNKNOWN\x10\x00\x12$\n FUNCTION_EXECUTOR_STATUS_PENDING\x10\x01\x12$\n FUNCTION_EXECUTOR_STATUS_RUNNING\x10\x02\x12\'\n#FUNCTION_EXECUTOR_STATUS_TERMINATED\x10\x03*\x94\x04\n!FunctionExecutorTerminationReason\x12\x30\n,FUNCTION_EXECUTOR_TERMINATION_REASON_UNKNOWN\x10\x00\x12\x46\nBFUNCTION_EXECUTOR_TERMINATION_REASON_STARTUP_FAILED_INTERNAL_ERROR\x10\x01\x12\x46\nBFUNCTION_EXECUTOR_TERMINATION_REASON_STARTUP_FAILED_FUNCTION_ERROR\x10\x02\x12H\nDFUNCTION_EXECUTOR_TERMINATION_REASON_STARTUP_FAILED_FUNCTION_TIMEOUT\x10\x03\x12\x32\n.FUNCTION_EXECUTOR_TERMINATION_REASON_UNHEALTHY\x10\x0c\x12\x37\n3FUNCTION_EXECUTOR_TERMINATION_REASON_INTERNAL_ERROR\x10\r\x12\x39\n5FUNCTION_EXECUTOR_TERMINATION_REASON_FUNCTION_TIMEOUT\x10\x0e\x12;\n7FUNCTION_EXECUTOR_TERMINATION_REASON_FUNCTION_CANCELLED\x10\x0f*\xa5\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\x1b\n\x17\x45XECUTOR_STATUS_STOPPED\x10\x04*n\n\x0fTaskOutcomeCode\x12\x1d\n\x19TASK_OUTCOME_CODE_UNKNOWN\x10\x00\x12\x1d\n\x19TASK_OUTCOME_CODE_SUCCESS\x10\x01\x12\x1d\n\x19TASK_OUTCOME_CODE_FAILURE\x10\x02*\xb6\x02\n\x11TaskFailureReason\x12\x1f\n\x1bTASK_FAILURE_REASON_UNKNOWN\x10\x00\x12&\n"TASK_FAILURE_REASON_INTERNAL_ERROR\x10\x01\x12&\n"TASK_FAILURE_REASON_FUNCTION_ERROR\x10\x02\x12(\n$TASK_FAILURE_REASON_FUNCTION_TIMEOUT\x10\x03\x12(\n$TASK_FAILURE_REASON_INVOCATION_ERROR\x10\x04\x12&\n"TASK_FAILURE_REASON_TASK_CANCELLED\x10\x05\x12\x34\n0TASK_FAILURE_REASON_FUNCTION_EXECUTOR_TERMINATED\x10\x06\x32\xff\x01\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\x62\x06proto3'
|
23
23
|
)
|
24
24
|
|
25
25
|
_globals = globals()
|
@@ -31,58 +31,58 @@ 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["_DATAPAYLOADENCODING"]._serialized_start =
|
35
|
-
_globals["_DATAPAYLOADENCODING"]._serialized_end =
|
36
|
-
_globals["_GPUMODEL"]._serialized_start =
|
37
|
-
_globals["_GPUMODEL"]._serialized_end =
|
38
|
-
_globals["_FUNCTIONEXECUTORSTATUS"]._serialized_start =
|
39
|
-
_globals["_FUNCTIONEXECUTORSTATUS"]._serialized_end =
|
40
|
-
_globals["_FUNCTIONEXECUTORTERMINATIONREASON"]._serialized_start =
|
41
|
-
_globals["_FUNCTIONEXECUTORTERMINATIONREASON"]._serialized_end =
|
42
|
-
_globals["_EXECUTORSTATUS"]._serialized_start =
|
43
|
-
_globals["_EXECUTORSTATUS"]._serialized_end =
|
44
|
-
_globals["_TASKOUTCOMECODE"]._serialized_start =
|
45
|
-
_globals["_TASKOUTCOMECODE"]._serialized_end =
|
46
|
-
_globals["_TASKFAILUREREASON"]._serialized_start =
|
47
|
-
_globals["_TASKFAILUREREASON"]._serialized_end =
|
34
|
+
_globals["_DATAPAYLOADENCODING"]._serialized_start = 5516
|
35
|
+
_globals["_DATAPAYLOADENCODING"]._serialized_end = 5725
|
36
|
+
_globals["_GPUMODEL"]._serialized_start = 5728
|
37
|
+
_globals["_GPUMODEL"]._serialized_end = 5942
|
38
|
+
_globals["_FUNCTIONEXECUTORSTATUS"]._serialized_start = 5945
|
39
|
+
_globals["_FUNCTIONEXECUTORSTATUS"]._serialized_end = 6124
|
40
|
+
_globals["_FUNCTIONEXECUTORTERMINATIONREASON"]._serialized_start = 6127
|
41
|
+
_globals["_FUNCTIONEXECUTORTERMINATIONREASON"]._serialized_end = 6659
|
42
|
+
_globals["_EXECUTORSTATUS"]._serialized_start = 6662
|
43
|
+
_globals["_EXECUTORSTATUS"]._serialized_end = 6827
|
44
|
+
_globals["_TASKOUTCOMECODE"]._serialized_start = 6829
|
45
|
+
_globals["_TASKOUTCOMECODE"]._serialized_end = 6939
|
46
|
+
_globals["_TASKFAILUREREASON"]._serialized_start = 6942
|
47
|
+
_globals["_TASKFAILUREREASON"]._serialized_end = 7252
|
48
48
|
_globals["_DATAPAYLOAD"]._serialized_start = 55
|
49
|
-
_globals["_DATAPAYLOAD"]._serialized_end =
|
50
|
-
_globals["_GPURESOURCES"]._serialized_start =
|
51
|
-
_globals["_GPURESOURCES"]._serialized_end =
|
52
|
-
_globals["_HOSTRESOURCES"]._serialized_start =
|
53
|
-
_globals["_HOSTRESOURCES"]._serialized_end =
|
54
|
-
_globals["_ALLOWEDFUNCTION"]._serialized_start =
|
55
|
-
_globals["_ALLOWEDFUNCTION"]._serialized_end =
|
56
|
-
_globals["_FUNCTIONEXECUTORRESOURCES"]._serialized_start =
|
57
|
-
_globals["_FUNCTIONEXECUTORRESOURCES"]._serialized_end =
|
58
|
-
_globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_start =
|
59
|
-
_globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_end =
|
60
|
-
_globals["_FUNCTIONEXECUTORSTATE"]._serialized_start =
|
61
|
-
_globals["_FUNCTIONEXECUTORSTATE"]._serialized_end =
|
62
|
-
_globals["_FUNCTIONEXECUTORUPDATE"]._serialized_start =
|
63
|
-
_globals["_FUNCTIONEXECUTORUPDATE"]._serialized_end =
|
64
|
-
_globals["_EXECUTORSTATE"]._serialized_start =
|
65
|
-
_globals["_EXECUTORSTATE"]._serialized_end =
|
66
|
-
_globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_start =
|
67
|
-
_globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_end =
|
68
|
-
_globals["_EXECUTORUPDATE"]._serialized_start =
|
69
|
-
_globals["_EXECUTORUPDATE"]._serialized_end =
|
70
|
-
_globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_start =
|
71
|
-
_globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_end =
|
72
|
-
_globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_start =
|
73
|
-
_globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_end =
|
74
|
-
_globals["_TASKRETRYPOLICY"]._serialized_start =
|
75
|
-
_globals["_TASKRETRYPOLICY"]._serialized_end =
|
76
|
-
_globals["_TASK"]._serialized_start =
|
77
|
-
_globals["_TASK"]._serialized_end =
|
78
|
-
_globals["_TASKALLOCATION"]._serialized_start =
|
79
|
-
_globals["_TASKALLOCATION"]._serialized_end =
|
80
|
-
_globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_start =
|
81
|
-
_globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_end =
|
82
|
-
_globals["_DESIREDEXECUTORSTATE"]._serialized_start =
|
83
|
-
_globals["_DESIREDEXECUTORSTATE"]._serialized_end =
|
84
|
-
_globals["_TASKRESULT"]._serialized_start =
|
85
|
-
_globals["_TASKRESULT"]._serialized_end =
|
86
|
-
_globals["_EXECUTORAPI"]._serialized_start =
|
87
|
-
_globals["_EXECUTORAPI"]._serialized_end =
|
49
|
+
_globals["_DATAPAYLOAD"]._serialized_end = 322
|
50
|
+
_globals["_GPURESOURCES"]._serialized_start = 324
|
51
|
+
_globals["_GPURESOURCES"]._serialized_end = 425
|
52
|
+
_globals["_HOSTRESOURCES"]._serialized_start = 428
|
53
|
+
_globals["_HOSTRESOURCES"]._serialized_end = 622
|
54
|
+
_globals["_ALLOWEDFUNCTION"]._serialized_start = 625
|
55
|
+
_globals["_ALLOWEDFUNCTION"]._serialized_end = 812
|
56
|
+
_globals["_FUNCTIONEXECUTORRESOURCES"]._serialized_start = 815
|
57
|
+
_globals["_FUNCTIONEXECUTORRESOURCES"]._serialized_end = 1031
|
58
|
+
_globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_start = 1034
|
59
|
+
_globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_end = 1597
|
60
|
+
_globals["_FUNCTIONEXECUTORSTATE"]._serialized_start = 1600
|
61
|
+
_globals["_FUNCTIONEXECUTORSTATE"]._serialized_end = 1935
|
62
|
+
_globals["_FUNCTIONEXECUTORUPDATE"]._serialized_start = 1938
|
63
|
+
_globals["_FUNCTIONEXECUTORUPDATE"]._serialized_end = 2206
|
64
|
+
_globals["_EXECUTORSTATE"]._serialized_start = 2209
|
65
|
+
_globals["_EXECUTORSTATE"]._serialized_end = 2927
|
66
|
+
_globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_start = 2740
|
67
|
+
_globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_end = 2785
|
68
|
+
_globals["_EXECUTORUPDATE"]._serialized_start = 2930
|
69
|
+
_globals["_EXECUTORUPDATE"]._serialized_end = 3115
|
70
|
+
_globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_start = 3118
|
71
|
+
_globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_end = 3309
|
72
|
+
_globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_start = 3311
|
73
|
+
_globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_end = 3340
|
74
|
+
_globals["_TASKRETRYPOLICY"]._serialized_start = 3343
|
75
|
+
_globals["_TASKRETRYPOLICY"]._serialized_end = 3550
|
76
|
+
_globals["_TASK"]._serialized_start = 3553
|
77
|
+
_globals["_TASK"]._serialized_end = 4225
|
78
|
+
_globals["_TASKALLOCATION"]._serialized_start = 4228
|
79
|
+
_globals["_TASKALLOCATION"]._serialized_end = 4401
|
80
|
+
_globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_start = 4403
|
81
|
+
_globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_end = 4478
|
82
|
+
_globals["_DESIREDEXECUTORSTATE"]._serialized_start = 4481
|
83
|
+
_globals["_DESIREDEXECUTORSTATE"]._serialized_end = 4666
|
84
|
+
_globals["_TASKRESULT"]._serialized_start = 4669
|
85
|
+
_globals["_TASKRESULT"]._serialized_end = 5513
|
86
|
+
_globals["_EXECUTORAPI"]._serialized_start = 7255
|
87
|
+
_globals["_EXECUTORAPI"]._serialized_end = 7510
|
88
88
|
# @@protoc_insertion_point(module_scope)
|
@@ -138,17 +138,19 @@ TASK_FAILURE_REASON_TASK_CANCELLED: TaskFailureReason
|
|
138
138
|
TASK_FAILURE_REASON_FUNCTION_EXECUTOR_TERMINATED: TaskFailureReason
|
139
139
|
|
140
140
|
class DataPayload(_message.Message):
|
141
|
-
__slots__ = ("size", "sha256_hash", "uri", "encoding", "encoding_version")
|
141
|
+
__slots__ = ("size", "sha256_hash", "uri", "encoding", "encoding_version", "offset")
|
142
142
|
SIZE_FIELD_NUMBER: _ClassVar[int]
|
143
143
|
SHA256_HASH_FIELD_NUMBER: _ClassVar[int]
|
144
144
|
URI_FIELD_NUMBER: _ClassVar[int]
|
145
145
|
ENCODING_FIELD_NUMBER: _ClassVar[int]
|
146
146
|
ENCODING_VERSION_FIELD_NUMBER: _ClassVar[int]
|
147
|
+
OFFSET_FIELD_NUMBER: _ClassVar[int]
|
147
148
|
size: int
|
148
149
|
sha256_hash: str
|
149
150
|
uri: str
|
150
151
|
encoding: DataPayloadEncoding
|
151
152
|
encoding_version: int
|
153
|
+
offset: int
|
152
154
|
def __init__(
|
153
155
|
self,
|
154
156
|
size: _Optional[int] = ...,
|
@@ -156,6 +158,7 @@ class DataPayload(_message.Message):
|
|
156
158
|
uri: _Optional[str] = ...,
|
157
159
|
encoding: _Optional[_Union[DataPayloadEncoding, str]] = ...,
|
158
160
|
encoding_version: _Optional[int] = ...,
|
161
|
+
offset: _Optional[int] = ...,
|
159
162
|
) -> None: ...
|
160
163
|
|
161
164
|
class GPUResources(_message.Message):
|
@@ -449,6 +452,7 @@ class Task(_message.Message):
|
|
449
452
|
"reducer_input",
|
450
453
|
"output_payload_uri_prefix",
|
451
454
|
"retry_policy",
|
455
|
+
"invocation_error_payload_uri_prefix",
|
452
456
|
)
|
453
457
|
ID_FIELD_NUMBER: _ClassVar[int]
|
454
458
|
NAMESPACE_FIELD_NUMBER: _ClassVar[int]
|
@@ -461,6 +465,7 @@ class Task(_message.Message):
|
|
461
465
|
REDUCER_INPUT_FIELD_NUMBER: _ClassVar[int]
|
462
466
|
OUTPUT_PAYLOAD_URI_PREFIX_FIELD_NUMBER: _ClassVar[int]
|
463
467
|
RETRY_POLICY_FIELD_NUMBER: _ClassVar[int]
|
468
|
+
INVOCATION_ERROR_PAYLOAD_URI_PREFIX_FIELD_NUMBER: _ClassVar[int]
|
464
469
|
id: str
|
465
470
|
namespace: str
|
466
471
|
graph_name: str
|
@@ -472,6 +477,7 @@ class Task(_message.Message):
|
|
472
477
|
reducer_input: DataPayload
|
473
478
|
output_payload_uri_prefix: str
|
474
479
|
retry_policy: TaskRetryPolicy
|
480
|
+
invocation_error_payload_uri_prefix: str
|
475
481
|
def __init__(
|
476
482
|
self,
|
477
483
|
id: _Optional[str] = ...,
|
@@ -485,6 +491,7 @@ class Task(_message.Message):
|
|
485
491
|
reducer_input: _Optional[_Union[DataPayload, _Mapping]] = ...,
|
486
492
|
output_payload_uri_prefix: _Optional[str] = ...,
|
487
493
|
retry_policy: _Optional[_Union[TaskRetryPolicy, _Mapping]] = ...,
|
494
|
+
invocation_error_payload_uri_prefix: _Optional[str] = ...,
|
488
495
|
) -> None: ...
|
489
496
|
|
490
497
|
class TaskAllocation(_message.Message):
|
@@ -1,20 +1,18 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: indexify
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.23
|
4
4
|
Summary: Open Source Indexify components and helper tools
|
5
5
|
Home-page: https://github.com/tensorlakeai/indexify
|
6
6
|
License: Apache 2.0
|
7
7
|
Author: Tensorlake Inc.
|
8
8
|
Author-email: support@tensorlake.ai
|
9
|
-
Requires-Python: >=3.
|
9
|
+
Requires-Python: >=3.12,<4.0
|
10
10
|
Classifier: License :: Other/Proprietary License
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
12
|
-
Classifier: Programming Language :: Python :: 3.10
|
13
|
-
Classifier: Programming Language :: Python :: 3.11
|
14
12
|
Classifier: Programming Language :: Python :: 3.12
|
15
13
|
Classifier: Programming Language :: Python :: 3.13
|
16
|
-
Requires-Dist: aiohttp (>=3.12.
|
17
|
-
Requires-Dist: boto3 (>=1.
|
14
|
+
Requires-Dist: aiohttp (>=3.12.15,<4.0.0)
|
15
|
+
Requires-Dist: boto3 (>=1.40.6,<2.0.0)
|
18
16
|
Requires-Dist: docker (>=7.1.0,<8.0.0)
|
19
17
|
Requires-Dist: httpx[http2] (==0.27.2)
|
20
18
|
Requires-Dist: nanoid (>=2.0.0,<3.0.0)
|
@@ -22,7 +20,8 @@ Requires-Dist: prometheus-client (>=0.22.1,<0.23.0)
|
|
22
20
|
Requires-Dist: psutil (>=7.0.0,<8.0.0)
|
23
21
|
Requires-Dist: pydantic (>=2.11,<3.0)
|
24
22
|
Requires-Dist: requests (>=2.32.4,<3.0.0)
|
25
|
-
Requires-Dist:
|
23
|
+
Requires-Dist: structlog (==25.4.0)
|
24
|
+
Requires-Dist: tensorlake (==0.2.39)
|
26
25
|
Requires-Dist: urllib3 (>=2.5.0,<3.0.0)
|
27
26
|
Project-URL: Repository, https://github.com/tensorlakeai/indexify
|
28
27
|
Description-Content-Type: text/markdown
|
@@ -1,50 +1,52 @@
|
|
1
1
|
indexify/cli/__init__.py,sha256=ELFLx_Z_oWm30jwOpYjbD6Ori3Nzz4ldkvmGVK7QMgw,426
|
2
2
|
indexify/cli/build_image.py,sha256=QLhhYz8WZtOL_xm1LvviTNJucGnYjksnMIVmeEQ8zzA,2505
|
3
3
|
indexify/cli/deploy.py,sha256=0cs68KXH4Cw0KmYAoqYZ60oErQ5J9LI0KbohSG_Mj8g,1847
|
4
|
-
indexify/cli/executor.py,sha256=
|
4
|
+
indexify/cli/executor.py,sha256=0go8YUPFCwg77pYbCaoWuPraqW7KBgZ6Fyx6sQzT4aM,6286
|
5
5
|
indexify/executor/README.md,sha256=ozC6_hMkhQQNVCMEpBxwiUALz6lwErPQxNxQfQDqnG4,2029
|
6
|
-
indexify/executor/blob_store/blob_store.py,sha256=
|
7
|
-
indexify/executor/blob_store/local_fs_blob_store.py,sha256=
|
8
|
-
indexify/executor/blob_store/metrics/blob_store.py,sha256=
|
9
|
-
indexify/executor/blob_store/s3_blob_store.py,sha256=
|
6
|
+
indexify/executor/blob_store/blob_store.py,sha256=lrSGTZa_H4Cs1BFwADp-aluvD3LpmE1XO76ZJMX5alU,5798
|
7
|
+
indexify/executor/blob_store/local_fs_blob_store.py,sha256=nRFawLMbOCCFlCIx2ccmhalFjpfdhMRL2pE2rgV0VH8,3245
|
8
|
+
indexify/executor/blob_store/metrics/blob_store.py,sha256=3lmLU8q4Yx87RIYcy56nmFiNQTPY94pB12ht7X6MyhA,3811
|
9
|
+
indexify/executor/blob_store/s3_blob_store.py,sha256=wJlDBTTaq48Vp1I0LvP2958b1Xe8esvarkr5PVRawU0,7609
|
10
10
|
indexify/executor/channel_manager.py,sha256=ihKfWJmUqQvh4UKXewZLzyJWW_f50P4fnwPqPonrozw,6651
|
11
11
|
indexify/executor/executor.py,sha256=rM7BmJDqC_YwdwPfDGFGiFO2WxOW3Nj8Z7rwRw8UcFk,6353
|
12
12
|
indexify/executor/function_allowlist.py,sha256=PCelCW6qIe_2sH11BCKr7LDqarRV5kwNsrfB2EV7Zwo,1772
|
13
|
-
indexify/executor/function_executor/function_executor.py,sha256=
|
13
|
+
indexify/executor/function_executor/function_executor.py,sha256=MrbGEqsxpzLVOrEAH_Kmm3cW3q_5h-GYUIkenuPvyT4,12288
|
14
14
|
indexify/executor/function_executor/health_checker.py,sha256=IxE0jnC99K_lvnizFLjXqS1942H8-FNAN4AlhLIjg2Y,6373
|
15
|
-
indexify/executor/function_executor/invocation_state_client.py,sha256=
|
15
|
+
indexify/executor/function_executor/invocation_state_client.py,sha256=q3YWnoTCYCtBrCOBlLd3b13_vwzibFOJJBHHami28Yc,11269
|
16
16
|
indexify/executor/function_executor/metrics/function_executor.py,sha256=TDksxLRJr-P9ZKhF2Orsaxzzb4lVIBxFEjd_9Zv53Ng,6313
|
17
17
|
indexify/executor/function_executor/metrics/health_checker.py,sha256=EaeIYJPrQ-qqNMGZVGkvjPoeQSCl4FzPKXEv3Cly1NE,456
|
18
18
|
indexify/executor/function_executor/metrics/invocation_state_client.py,sha256=6FCW6rXHVZZSmwLquZdpjgQPSmE_99naDLke5rZiwMI,1867
|
19
19
|
indexify/executor/function_executor/server/client_configuration.py,sha256=gOywMus0cotlX6NKIadEJwvOmBE-LbGE_wvoMi5-HzY,994
|
20
20
|
indexify/executor/function_executor/server/function_executor_server.py,sha256=_DLivLDikupZusRk8gVWDk7fWPT9XjZ4un1yWSlOObs,883
|
21
|
-
indexify/executor/function_executor/server/function_executor_server_factory.py,sha256=
|
21
|
+
indexify/executor/function_executor/server/function_executor_server_factory.py,sha256=pZ3tQoaeWP2NDaR-A0PUYmzrBz768U2b9ENBFQG1INg,1814
|
22
22
|
indexify/executor/function_executor/server/subprocess_function_executor_server.py,sha256=JekDOqF7oFD4J6zcN3xB0Dxd1cgpEXMOsb_rKZOeBlI,668
|
23
23
|
indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py,sha256=w5aGQPHWLpixlP9-BbZu6oL_muMA95-hr7WKVxiEL7Q,4303
|
24
24
|
indexify/executor/function_executor_controller/__init__.py,sha256=VPuuBEYOKf7OWyPPjy-jGOv-d5xJqHvkJfFT_oj-AsE,492
|
25
25
|
indexify/executor/function_executor_controller/completed_task_metrics.py,sha256=MhnC-ddgmTK4yTsuZxgTKnqZ-YSVeWn2EhbbiggsSKk,3664
|
26
|
-
indexify/executor/function_executor_controller/create_function_executor.py,sha256=
|
26
|
+
indexify/executor/function_executor_controller/create_function_executor.py,sha256=wCMlECcXZ9FMF0NlXqww6lbHRwy71w204q_Rh6nFoOE,10694
|
27
27
|
indexify/executor/function_executor_controller/debug_event_loop.py,sha256=VJOKe_c9HjIDVCjhMY3Yqyeq1tAM1eVa2chZa6CMf-U,1016
|
28
|
-
indexify/executor/function_executor_controller/downloads.py,sha256=
|
29
|
-
indexify/executor/function_executor_controller/events.py,sha256=
|
30
|
-
indexify/executor/function_executor_controller/
|
31
|
-
indexify/executor/function_executor_controller/
|
28
|
+
indexify/executor/function_executor_controller/downloads.py,sha256=B2dbaa6osp1_vCQ6WY_9znAca3Z2qqVzQAF2av3v8Pg,5304
|
29
|
+
indexify/executor/function_executor_controller/events.py,sha256=G5WX8Qgyv5LuY0IkiFWtvUmNWtuqih34Kt9qTFVfYVU,5639
|
30
|
+
indexify/executor/function_executor_controller/finalize_task.py,sha256=letfBqGXPTubvOfbRg7cvdgtvrwkSnSezx4XRknYvKM,6624
|
31
|
+
indexify/executor/function_executor_controller/function_executor_controller.py,sha256=uBlQgSGIuVlxAQnT7Qs-T-8c5vABeITFCu_oY9-vNmU,39132
|
32
32
|
indexify/executor/function_executor_controller/loggers.py,sha256=zEY2nt15gboX3SX6Kh1xjeCljZJZSE4lp27qNrg8yPY,3637
|
33
|
-
indexify/executor/function_executor_controller/message_validators.py,sha256=
|
33
|
+
indexify/executor/function_executor_controller/message_validators.py,sha256=7Hgu6GItKU5_zz_YHtHT5NlWIHnvof2P-o_21pto9vU,3128
|
34
34
|
indexify/executor/function_executor_controller/metrics/completed_task_metrics.py,sha256=53EGBCLwCEV-RBBeyLPTElrtcveaEM0Fwxs9NmC1Hn8,2724
|
35
|
-
indexify/executor/function_executor_controller/metrics/downloads.py,sha256=
|
35
|
+
indexify/executor/function_executor_controller/metrics/downloads.py,sha256=G8UUDfnzmiK_26OvZYTqH0KgNb3kI-0TgzGLFEuSEFc,892
|
36
|
+
indexify/executor/function_executor_controller/metrics/finalize_task.py,sha256=KlJ9o3DQ8VSWNBpMrugr0CT7sSZm2J1LH6lvZhzsQ6E,743
|
36
37
|
indexify/executor/function_executor_controller/metrics/function_executor_controller.py,sha256=gyIZHbdsNSnrA6z4WDaRAunNolFrbbg1pa8JaL_ODNE,2666
|
37
|
-
indexify/executor/function_executor_controller/metrics/
|
38
|
-
indexify/executor/function_executor_controller/metrics/
|
39
|
-
indexify/executor/function_executor_controller/prepare_task.py,sha256=
|
40
|
-
indexify/executor/function_executor_controller/run_task.py,sha256=
|
41
|
-
indexify/executor/function_executor_controller/task_info.py,sha256=
|
42
|
-
indexify/executor/function_executor_controller/
|
43
|
-
indexify/executor/function_executor_controller/
|
44
|
-
indexify/executor/function_executor_controller/
|
38
|
+
indexify/executor/function_executor_controller/metrics/prepare_task.py,sha256=7nHuerFWGqRCRqtgpL3vJVs-DHwxwFhBZaGjrtfOlys,764
|
39
|
+
indexify/executor/function_executor_controller/metrics/run_task.py,sha256=ZFv_nw5_pKUJoTaavSyzdglQKW4uvC2XyK8S6xi9xLQ,1064
|
40
|
+
indexify/executor/function_executor_controller/prepare_task.py,sha256=9vUPrbaz5AQVSbe0LvTOD7lkn-02P_UvMQyjZmjhGHo,9170
|
41
|
+
indexify/executor/function_executor_controller/run_task.py,sha256=kbQGhopCzbARczzZ4zXAvWkgWLlI9kMXSVXSOOrssos,15483
|
42
|
+
indexify/executor/function_executor_controller/task_info.py,sha256=ufhb4PvQuXyY4JUlddNyN2bJQdUeGlMTMIRlKz_WzXc,1015
|
43
|
+
indexify/executor/function_executor_controller/task_input.py,sha256=PHCzqpjzTzw4TJTn6wncon3P08EiTVRJazEYRbTqDu8,876
|
44
|
+
indexify/executor/function_executor_controller/task_output.py,sha256=kDOm9wlzNHMaXp3er0SbWS1D5NI3mx9reVgqbmlCPA8,7130
|
45
|
+
indexify/executor/function_executor_controller/terminate_function_executor.py,sha256=2eqcpAo5brfMPFtYCpTlI3FJ6ESRU9xUzbXDFU0lcP4,1561
|
45
46
|
indexify/executor/host_resources/host_resources.py,sha256=eUyP05EX7QdOtQ5vbX_KCpvnBS2B7fl06UWeF9Oigns,3813
|
46
47
|
indexify/executor/host_resources/nvidia_gpu.py,sha256=uTCkLXnozZSpax8VApt0QMMM9YcBUK9eggYpwmLz09I,3308
|
47
48
|
indexify/executor/host_resources/nvidia_gpu_allocator.py,sha256=AOcXKglLyRD-GrZzyCoi_oDRJoaOhFKWBSlUOxHeAP8,2114
|
49
|
+
indexify/executor/logging.py,sha256=e-Hs64bOy4mGVgAGHLohleqP-COy8h2JJhRv6RGjcV4,2256
|
48
50
|
indexify/executor/metrics/channel_manager.py,sha256=1dU9bzF3xqBy1nY9Sc66GfQQWnWZSNip4lEH1vjoWdI,648
|
49
51
|
indexify/executor/metrics/executor.py,sha256=8dJXmyGqKlBSrPuyWXW7O2I21uxQ687l-2dYTvz4fmk,398
|
50
52
|
indexify/executor/metrics/state_reconciler.py,sha256=BSlRgvgtwih6QcYrsFU5P2ylaXAsC_X70DbzDuv9NsU,584
|
@@ -54,17 +56,17 @@ indexify/executor/monitoring/health_check_handler.py,sha256=e1pEtWFKaVs6H57Z4YLe
|
|
54
56
|
indexify/executor/monitoring/health_checker/generic_health_checker.py,sha256=vJRV879GrdZFqwTnM9pRLA97LRMutGz2sWRy-KS-tfg,1493
|
55
57
|
indexify/executor/monitoring/health_checker/health_checker.py,sha256=B-Q4KM1iEUSMA2fr9PBhBLdA7sYII_NuTRmPuRILGSo,665
|
56
58
|
indexify/executor/monitoring/health_checker/metrics/health_checker.py,sha256=50JS4JaOdAgSk7iYaBV4J3tGXkRTzmIVR_jVOV66YOc,129
|
57
|
-
indexify/executor/monitoring/metrics.py,sha256=
|
59
|
+
indexify/executor/monitoring/metrics.py,sha256=5BpNqDBDQiL2K962WDPQU2eSo5zD6I9vF2flGyBejts,7388
|
58
60
|
indexify/executor/monitoring/prometheus_metrics_handler.py,sha256=KiGqSf7rkXTfbDwThyXFpFe2jnuZD5q-5SBP_0GDo8Y,591
|
59
61
|
indexify/executor/monitoring/server.py,sha256=yzdYhcxnmY6uTQUMt3vatF5jilN52ZtfFseOmHyQpTo,1254
|
60
62
|
indexify/executor/monitoring/startup_probe_handler.py,sha256=zXXsBU15SMlBx1bSFpxWDfed1VHtKKnwvLQ8-frpG98,425
|
61
63
|
indexify/executor/state_reconciler.py,sha256=hPTjCUkXQV0HIwa5JczYpb5gvTGonQpkxqOvQXf-QU4,20057
|
62
64
|
indexify/executor/state_reporter.py,sha256=zf5UBhBZVv9SQ1Ju_bY8w6D_t1hBZ5YVXhjeFMEgRms,15208
|
63
|
-
indexify/proto/executor_api.proto,sha256=
|
64
|
-
indexify/proto/executor_api_pb2.py,sha256=
|
65
|
-
indexify/proto/executor_api_pb2.pyi,sha256=
|
65
|
+
indexify/proto/executor_api.proto,sha256=yYLx3LTx2hGDFJX8myCosS3_eAWUMWdsWt59PH7O-QQ,12864
|
66
|
+
indexify/proto/executor_api_pb2.py,sha256=ZrJg5ivsv-Kn8QRRsFWupdKCo6Eru6UNR8iYRqo5AhE,16458
|
67
|
+
indexify/proto/executor_api_pb2.pyi,sha256=YfKsaIYaePZkpLTk_toAsWfH50xOOYfjjU3aWsci9w0,23151
|
66
68
|
indexify/proto/executor_api_pb2_grpc.py,sha256=u9GEQV4nm_GvApRxjVo806CkgBMBVReb5IVrcaDaliY,7520
|
67
|
-
indexify-0.4.
|
68
|
-
indexify-0.4.
|
69
|
-
indexify-0.4.
|
70
|
-
indexify-0.4.
|
69
|
+
indexify-0.4.23.dist-info/METADATA,sha256=n3Un6Bc8Ei9Agb7QCV7juOL0PjJkW2suOlaUQIax4tw,1287
|
70
|
+
indexify-0.4.23.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
|
71
|
+
indexify-0.4.23.dist-info/entry_points.txt,sha256=rMJqbE5KPZIXTPIfAtVIM4zpUElqYVgEYd6i7N23zzg,49
|
72
|
+
indexify-0.4.23.dist-info/RECORD,,
|
@@ -1,21 +0,0 @@
|
|
1
|
-
from typing import Optional
|
2
|
-
|
3
|
-
from indexify.proto.executor_api_pb2 import (
|
4
|
-
DataPayload,
|
5
|
-
FunctionExecutorDescription,
|
6
|
-
FunctionExecutorTerminationReason,
|
7
|
-
)
|
8
|
-
|
9
|
-
|
10
|
-
class FunctionExecutorStartupOutput:
|
11
|
-
def __init__(
|
12
|
-
self,
|
13
|
-
function_executor_description: FunctionExecutorDescription,
|
14
|
-
termination_reason: FunctionExecutorTerminationReason = None, # None if FE created successfully (wasn't terminated)
|
15
|
-
stdout: Optional[DataPayload] = None,
|
16
|
-
stderr: Optional[DataPayload] = None,
|
17
|
-
):
|
18
|
-
self.function_executor_description = function_executor_description
|
19
|
-
self.termination_reason = termination_reason
|
20
|
-
self.stdout = stdout
|
21
|
-
self.stderr = stderr
|
@@ -1,39 +0,0 @@
|
|
1
|
-
import prometheus_client
|
2
|
-
|
3
|
-
from indexify.executor.monitoring.metrics import latency_metric_for_fast_operation
|
4
|
-
|
5
|
-
# Task output upload metrics.
|
6
|
-
metric_task_output_uploads: prometheus_client.Counter = prometheus_client.Counter(
|
7
|
-
"task_output_uploads",
|
8
|
-
"Number of task output uploads",
|
9
|
-
)
|
10
|
-
metric_tasks_uploading_outputs: prometheus_client.Gauge = prometheus_client.Gauge(
|
11
|
-
"tasks_uploading_output",
|
12
|
-
"Number of tasks currently uploading their outputs",
|
13
|
-
)
|
14
|
-
metric_task_output_upload_latency: prometheus_client.Histogram = (
|
15
|
-
latency_metric_for_fast_operation("task_output_upload", "task output upload")
|
16
|
-
)
|
17
|
-
metric_task_output_upload_retries: prometheus_client.Counter = (
|
18
|
-
prometheus_client.Counter(
|
19
|
-
"tasks_output_upload_retries", "Number of task output upload retries"
|
20
|
-
)
|
21
|
-
)
|
22
|
-
|
23
|
-
# Metrics for individual blob store operations.
|
24
|
-
metric_task_output_blob_store_uploads: prometheus_client.Counter = (
|
25
|
-
prometheus_client.Counter(
|
26
|
-
"task_output_blob_store_uploads", "Number of task output uploads to blob store"
|
27
|
-
)
|
28
|
-
)
|
29
|
-
metric_task_output_blob_store_upload_errors: prometheus_client.Counter = (
|
30
|
-
prometheus_client.Counter(
|
31
|
-
"task_output_blob_store_upload_errors",
|
32
|
-
"Number of failed task output uploads to blob store",
|
33
|
-
)
|
34
|
-
)
|
35
|
-
metric_task_output_blob_store_upload_latency: prometheus_client.Histogram = (
|
36
|
-
latency_metric_for_fast_operation(
|
37
|
-
"task_output_blob_store_upload", "Upload task output to blob store"
|
38
|
-
)
|
39
|
-
)
|