indexify 0.3.19__py3-none-any.whl → 0.3.21__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.
Files changed (33) hide show
  1. indexify/cli/cli.py +12 -0
  2. indexify/executor/api_objects.py +11 -6
  3. indexify/executor/blob_store/blob_store.py +69 -0
  4. indexify/executor/blob_store/local_fs_blob_store.py +48 -0
  5. indexify/executor/blob_store/metrics/blob_store.py +33 -0
  6. indexify/executor/blob_store/s3_blob_store.py +88 -0
  7. indexify/executor/downloader.py +192 -27
  8. indexify/executor/executor.py +29 -13
  9. indexify/executor/function_executor/function_executor.py +1 -1
  10. indexify/executor/function_executor/function_executor_states_container.py +5 -0
  11. indexify/executor/function_executor/function_executor_status.py +2 -0
  12. indexify/executor/function_executor/health_checker.py +7 -2
  13. indexify/executor/function_executor/invocation_state_client.py +4 -2
  14. indexify/executor/function_executor/single_task_runner.py +2 -0
  15. indexify/executor/function_executor/task_output.py +8 -1
  16. indexify/executor/grpc/channel_manager.py +4 -3
  17. indexify/executor/grpc/function_executor_controller.py +163 -193
  18. indexify/executor/grpc/metrics/state_reconciler.py +17 -0
  19. indexify/executor/grpc/metrics/task_controller.py +8 -0
  20. indexify/executor/grpc/state_reconciler.py +305 -188
  21. indexify/executor/grpc/state_reporter.py +18 -10
  22. indexify/executor/grpc/task_controller.py +247 -189
  23. indexify/executor/metrics/task_reporter.py +17 -0
  24. indexify/executor/task_reporter.py +217 -94
  25. indexify/executor/task_runner.py +1 -0
  26. indexify/proto/executor_api.proto +37 -11
  27. indexify/proto/executor_api_pb2.py +49 -47
  28. indexify/proto/executor_api_pb2.pyi +55 -15
  29. {indexify-0.3.19.dist-info → indexify-0.3.21.dist-info}/METADATA +2 -1
  30. {indexify-0.3.19.dist-info → indexify-0.3.21.dist-info}/RECORD +32 -27
  31. indexify/executor/grpc/completed_tasks_container.py +0 -26
  32. {indexify-0.3.19.dist-info → indexify-0.3.21.dist-info}/WHEEL +0 -0
  33. {indexify-0.3.19.dist-info → indexify-0.3.21.dist-info}/entry_points.txt +0 -0
@@ -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"\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'
22
+ b'\n!indexify/proto/executor_api.proto\x12\x0f\x65xecutor_api_pb"\x87\x02\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\x12\x10\n\x03uri\x18\x04 \x01(\tH\x03\x88\x01\x01\x12;\n\x08\x65ncoding\x18\x05 \x01(\x0e\x32$.executor_api_pb.DataPayloadEncodingH\x04\x88\x01\x01\x12\x1d\n\x10\x65ncoding_version\x18\x06 \x01(\x04H\x05\x88\x01\x01\x42\x07\n\x05_pathB\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"\xed\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\x12\x30\n\x05graph\x18\n \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\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\x0c\n\n_image_uriB\x12\n\x10_resource_limitsB\x1b\n\x19_customer_code_timeout_msB\x08\n\x06_graph"\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"\xcb\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\x12\x19\n\x0cserver_clock\x18\x0c \x01(\x04H\x08\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_hashB\x0f\n\r_server_clock"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"\xd6\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\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\x12\x30\n\x05input\x18\x0b \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\t\x88\x01\x01\x12\x38\n\rreducer_input\x18\x0c \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\n\x88\x01\x01\x12&\n\x19output_payload_uri_prefix\x18\r \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\x0c\n\n_input_keyB\x15\n\x13_reducer_output_keyB\r\n\x0b_timeout_msB\x08\n\x06_inputB\x10\n\x0e_reducer_inputB\x1c\n\x1a_output_payload_uri_prefix"\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"\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*\xab\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*\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,50 +31,52 @@ 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 = 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
46
- _globals["_GPURESOURCES"]._serialized_start = 54
47
- _globals["_GPURESOURCES"]._serialized_end = 155
48
- _globals["_HOSTRESOURCES"]._serialized_start = 158
49
- _globals["_HOSTRESOURCES"]._serialized_end = 352
50
- _globals["_ALLOWEDFUNCTION"]._serialized_start = 355
51
- _globals["_ALLOWEDFUNCTION"]._serialized_end = 542
52
- _globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_start = 545
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
34
+ _globals["_DATAPAYLOADENCODING"]._serialized_start = 4203
35
+ _globals["_DATAPAYLOADENCODING"]._serialized_end = 4374
36
+ _globals["_GPUMODEL"]._serialized_start = 4377
37
+ _globals["_GPUMODEL"]._serialized_end = 4767
38
+ _globals["_FUNCTIONEXECUTORSTATUS"]._serialized_start = 4770
39
+ _globals["_FUNCTIONEXECUTORSTATUS"]._serialized_end = 5228
40
+ _globals["_EXECUTORSTATUS"]._serialized_start = 5231
41
+ _globals["_EXECUTORSTATUS"]._serialized_end = 5426
42
+ _globals["_EXECUTORFLAVOR"]._serialized_start = 5428
43
+ _globals["_EXECUTORFLAVOR"]._serialized_end = 5528
44
+ _globals["_TASKOUTCOME"]._serialized_start = 5530
45
+ _globals["_TASKOUTCOME"]._serialized_end = 5621
46
+ _globals["_OUTPUTENCODING"]._serialized_start = 5623
47
+ _globals["_OUTPUTENCODING"]._serialized_end = 5750
48
+ _globals["_DATAPAYLOAD"]._serialized_start = 55
49
+ _globals["_DATAPAYLOAD"]._serialized_end = 318
50
+ _globals["_GPURESOURCES"]._serialized_start = 320
51
+ _globals["_GPURESOURCES"]._serialized_end = 421
52
+ _globals["_HOSTRESOURCES"]._serialized_start = 424
53
+ _globals["_HOSTRESOURCES"]._serialized_end = 618
54
+ _globals["_ALLOWEDFUNCTION"]._serialized_start = 621
55
+ _globals["_ALLOWEDFUNCTION"]._serialized_end = 808
56
+ _globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_start = 811
57
+ _globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_end = 1304
58
+ _globals["_FUNCTIONEXECUTORSTATE"]._serialized_start = 1307
59
+ _globals["_FUNCTIONEXECUTORSTATE"]._serialized_end = 1539
60
+ _globals["_EXECUTORSTATE"]._serialized_start = 1542
61
+ _globals["_EXECUTORSTATE"]._serialized_end = 2257
62
+ _globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_start = 2077
63
+ _globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_end = 2122
64
+ _globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_start = 2259
65
+ _globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_end = 2367
66
+ _globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_start = 2369
67
+ _globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_end = 2398
68
+ _globals["_TASK"]._serialized_start = 2401
69
+ _globals["_TASK"]._serialized_end = 2999
70
+ _globals["_TASKALLOCATION"]._serialized_start = 3001
71
+ _globals["_TASKALLOCATION"]._serialized_end = 3128
72
+ _globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_start = 3130
73
+ _globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_end = 3205
74
+ _globals["_DESIREDEXECUTORSTATE"]._serialized_start = 3208
75
+ _globals["_DESIREDEXECUTORSTATE"]._serialized_end = 3393
76
+ _globals["_REPORTTASKOUTCOMEREQUEST"]._serialized_start = 3396
77
+ _globals["_REPORTTASKOUTCOMEREQUEST"]._serialized_end = 4171
78
+ _globals["_REPORTTASKOUTCOMERESPONSE"]._serialized_start = 4173
79
+ _globals["_REPORTTASKOUTCOMERESPONSE"]._serialized_end = 4200
80
+ _globals["_EXECUTORAPI"]._serialized_start = 5753
81
+ _globals["_EXECUTORAPI"]._serialized_end = 6120
80
82
  # @@protoc_insertion_point(module_scope)
@@ -11,6 +11,13 @@ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
11
11
 
12
12
  DESCRIPTOR: _descriptor.FileDescriptor
13
13
 
14
+ class DataPayloadEncoding(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
15
+ __slots__ = ()
16
+ DATA_PAYLOAD_ENCODING_UNKNOWN: _ClassVar[DataPayloadEncoding]
17
+ DATA_PAYLOAD_ENCODING_UTF8_JSON: _ClassVar[DataPayloadEncoding]
18
+ DATA_PAYLOAD_ENCODING_UTF8_TEXT: _ClassVar[DataPayloadEncoding]
19
+ DATA_PAYLOAD_ENCODING_BINARY_PICKLE: _ClassVar[DataPayloadEncoding]
20
+
14
21
  class GPUModel(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
15
22
  __slots__ = ()
16
23
  GPU_MODEL_UNKNOWN: _ClassVar[GPUModel]
@@ -70,6 +77,10 @@ class OutputEncoding(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
70
77
  OUTPUT_ENCODING_PICKLE: _ClassVar[OutputEncoding]
71
78
  OUTPUT_ENCODING_BINARY: _ClassVar[OutputEncoding]
72
79
 
80
+ DATA_PAYLOAD_ENCODING_UNKNOWN: DataPayloadEncoding
81
+ DATA_PAYLOAD_ENCODING_UTF8_JSON: DataPayloadEncoding
82
+ DATA_PAYLOAD_ENCODING_UTF8_TEXT: DataPayloadEncoding
83
+ DATA_PAYLOAD_ENCODING_BINARY_PICKLE: DataPayloadEncoding
73
84
  GPU_MODEL_UNKNOWN: GPUModel
74
85
  GPU_MODEL_NVIDIA_TESLA_T4_16GB: GPUModel
75
86
  GPU_MODEL_NVIDIA_TESLA_V100_16GB: GPUModel
@@ -108,6 +119,30 @@ OUTPUT_ENCODING_JSON: OutputEncoding
108
119
  OUTPUT_ENCODING_PICKLE: OutputEncoding
109
120
  OUTPUT_ENCODING_BINARY: OutputEncoding
110
121
 
122
+ class DataPayload(_message.Message):
123
+ __slots__ = ("path", "size", "sha256_hash", "uri", "encoding", "encoding_version")
124
+ PATH_FIELD_NUMBER: _ClassVar[int]
125
+ SIZE_FIELD_NUMBER: _ClassVar[int]
126
+ SHA256_HASH_FIELD_NUMBER: _ClassVar[int]
127
+ URI_FIELD_NUMBER: _ClassVar[int]
128
+ ENCODING_FIELD_NUMBER: _ClassVar[int]
129
+ ENCODING_VERSION_FIELD_NUMBER: _ClassVar[int]
130
+ path: str
131
+ size: int
132
+ sha256_hash: str
133
+ uri: str
134
+ encoding: DataPayloadEncoding
135
+ encoding_version: int
136
+ def __init__(
137
+ self,
138
+ path: _Optional[str] = ...,
139
+ size: _Optional[int] = ...,
140
+ sha256_hash: _Optional[str] = ...,
141
+ uri: _Optional[str] = ...,
142
+ encoding: _Optional[_Union[DataPayloadEncoding, str]] = ...,
143
+ encoding_version: _Optional[int] = ...,
144
+ ) -> None: ...
145
+
111
146
  class GPUResources(_message.Message):
112
147
  __slots__ = ("count", "model")
113
148
  COUNT_FIELD_NUMBER: _ClassVar[int]
@@ -165,6 +200,7 @@ class FunctionExecutorDescription(_message.Message):
165
200
  "secret_names",
166
201
  "resource_limits",
167
202
  "customer_code_timeout_ms",
203
+ "graph",
168
204
  )
169
205
  ID_FIELD_NUMBER: _ClassVar[int]
170
206
  NAMESPACE_FIELD_NUMBER: _ClassVar[int]
@@ -175,6 +211,7 @@ class FunctionExecutorDescription(_message.Message):
175
211
  SECRET_NAMES_FIELD_NUMBER: _ClassVar[int]
176
212
  RESOURCE_LIMITS_FIELD_NUMBER: _ClassVar[int]
177
213
  CUSTOMER_CODE_TIMEOUT_MS_FIELD_NUMBER: _ClassVar[int]
214
+ GRAPH_FIELD_NUMBER: _ClassVar[int]
178
215
  id: str
179
216
  namespace: str
180
217
  graph_name: str
@@ -184,6 +221,7 @@ class FunctionExecutorDescription(_message.Message):
184
221
  secret_names: _containers.RepeatedScalarFieldContainer[str]
185
222
  resource_limits: HostResources
186
223
  customer_code_timeout_ms: int
224
+ graph: DataPayload
187
225
  def __init__(
188
226
  self,
189
227
  id: _Optional[str] = ...,
@@ -195,6 +233,7 @@ class FunctionExecutorDescription(_message.Message):
195
233
  secret_names: _Optional[_Iterable[str]] = ...,
196
234
  resource_limits: _Optional[_Union[HostResources, _Mapping]] = ...,
197
235
  customer_code_timeout_ms: _Optional[int] = ...,
236
+ graph: _Optional[_Union[DataPayload, _Mapping]] = ...,
198
237
  ) -> None: ...
199
238
 
200
239
  class FunctionExecutorState(_message.Message):
@@ -225,6 +264,7 @@ class ExecutorState(_message.Message):
225
264
  "function_executor_states",
226
265
  "labels",
227
266
  "state_hash",
267
+ "server_clock",
228
268
  )
229
269
 
230
270
  class LabelsEntry(_message.Message):
@@ -248,6 +288,7 @@ class ExecutorState(_message.Message):
248
288
  FUNCTION_EXECUTOR_STATES_FIELD_NUMBER: _ClassVar[int]
249
289
  LABELS_FIELD_NUMBER: _ClassVar[int]
250
290
  STATE_HASH_FIELD_NUMBER: _ClassVar[int]
291
+ SERVER_CLOCK_FIELD_NUMBER: _ClassVar[int]
251
292
  executor_id: str
252
293
  development_mode: bool
253
294
  hostname: str
@@ -261,6 +302,7 @@ class ExecutorState(_message.Message):
261
302
  ]
262
303
  labels: _containers.ScalarMap[str, str]
263
304
  state_hash: str
305
+ server_clock: int
264
306
  def __init__(
265
307
  self,
266
308
  executor_id: _Optional[str] = ...,
@@ -278,6 +320,7 @@ class ExecutorState(_message.Message):
278
320
  ] = ...,
279
321
  labels: _Optional[_Mapping[str, str]] = ...,
280
322
  state_hash: _Optional[str] = ...,
323
+ server_clock: _Optional[int] = ...,
281
324
  ) -> None: ...
282
325
 
283
326
  class ReportExecutorStateRequest(_message.Message):
@@ -303,6 +346,9 @@ class Task(_message.Message):
303
346
  "input_key",
304
347
  "reducer_output_key",
305
348
  "timeout_ms",
349
+ "input",
350
+ "reducer_input",
351
+ "output_payload_uri_prefix",
306
352
  )
307
353
  ID_FIELD_NUMBER: _ClassVar[int]
308
354
  NAMESPACE_FIELD_NUMBER: _ClassVar[int]
@@ -313,6 +359,9 @@ class Task(_message.Message):
313
359
  INPUT_KEY_FIELD_NUMBER: _ClassVar[int]
314
360
  REDUCER_OUTPUT_KEY_FIELD_NUMBER: _ClassVar[int]
315
361
  TIMEOUT_MS_FIELD_NUMBER: _ClassVar[int]
362
+ INPUT_FIELD_NUMBER: _ClassVar[int]
363
+ REDUCER_INPUT_FIELD_NUMBER: _ClassVar[int]
364
+ OUTPUT_PAYLOAD_URI_PREFIX_FIELD_NUMBER: _ClassVar[int]
316
365
  id: str
317
366
  namespace: str
318
367
  graph_name: str
@@ -322,6 +371,9 @@ class Task(_message.Message):
322
371
  input_key: str
323
372
  reducer_output_key: str
324
373
  timeout_ms: int
374
+ input: DataPayload
375
+ reducer_input: DataPayload
376
+ output_payload_uri_prefix: str
325
377
  def __init__(
326
378
  self,
327
379
  id: _Optional[str] = ...,
@@ -333,6 +385,9 @@ class Task(_message.Message):
333
385
  input_key: _Optional[str] = ...,
334
386
  reducer_output_key: _Optional[str] = ...,
335
387
  timeout_ms: _Optional[int] = ...,
388
+ input: _Optional[_Union[DataPayload, _Mapping]] = ...,
389
+ reducer_input: _Optional[_Union[DataPayload, _Mapping]] = ...,
390
+ output_payload_uri_prefix: _Optional[str] = ...,
336
391
  ) -> None: ...
337
392
 
338
393
  class TaskAllocation(_message.Message):
@@ -372,21 +427,6 @@ class DesiredExecutorState(_message.Message):
372
427
  clock: _Optional[int] = ...,
373
428
  ) -> None: ...
374
429
 
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
430
  class ReportTaskOutcomeRequest(_message.Message):
391
431
  __slots__ = (
392
432
  "task_id",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: indexify
3
- Version: 0.3.19
3
+ Version: 0.3.21
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
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.11
15
15
  Classifier: Programming Language :: Python :: 3.12
16
16
  Classifier: Programming Language :: Python :: 3.13
17
17
  Requires-Dist: aiohttp (>=3.11.0,<4.0.0)
18
+ Requires-Dist: boto3 (>=1.37.30,<2.0.0)
18
19
  Requires-Dist: prometheus-client (>=0.21.1,<0.22.0)
19
20
  Requires-Dist: rich (>=13.9.2,<14.0.0)
20
21
  Requires-Dist: tensorlake (>=0.1)
@@ -1,15 +1,19 @@
1
- indexify/cli/cli.py,sha256=TgXC_ZZPT-MJA7CWH297Y4_5M5SDt2QslPUoMotp3Cc,8708
1
+ indexify/cli/cli.py,sha256=L-QVyRO-nGazfrdIbhxYvxMwhEnNjJ4H32Lw9pz464I,9345
2
2
  indexify/executor/README.md,sha256=ozC6_hMkhQQNVCMEpBxwiUALz6lwErPQxNxQfQDqnG4,2029
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
3
+ indexify/executor/api_objects.py,sha256=UEMpD_kKr6BNfu2JdYzq1CPNrEmVZYhwlZRKf3hB7KI,1750
4
+ indexify/executor/blob_store/blob_store.py,sha256=XViw_KRfFSNqwcFYwMZixZF-EYCjXK2AQHdt0xh4UVo,2368
5
+ indexify/executor/blob_store/local_fs_blob_store.py,sha256=6LexqMBGXp8f6Ka95R6xMIUyDutrZJABOMNcp-ssa98,1809
6
+ indexify/executor/blob_store/metrics/blob_store.py,sha256=5_xiPREeHWFtxFh1NupDsF8zP4pmUPgLNNn-UE9Uzvc,1008
7
+ indexify/executor/blob_store/s3_blob_store.py,sha256=G3B_V3gUE7XbUY42lDtBczUKuA7q8S7MD43tx1aHrJo,3445
8
+ indexify/executor/downloader.py,sha256=7wMuOHNX0w3HM89RZaYFix_VpNfSmZl_O52Y7QB-ivU,15483
9
+ indexify/executor/executor.py,sha256=K_xNJDImvIxgpE_ypw1ERyrijqOSe0EZIyVRVCqztVw,16697
6
10
  indexify/executor/executor_flavor.py,sha256=uilzDQVVYlQGR1MVnrUC4NevUActDWHdnJkr38M6kTk,118
7
- indexify/executor/function_executor/function_executor.py,sha256=rmqJrz4yihIefVhfbIIu3K6HFjKU3eEvEy2xFICYPp4,11881
11
+ indexify/executor/function_executor/function_executor.py,sha256=agfUxzSQ-2TqkpMhW3OvOSMF_EhpemetaL3_dYp29Ro,11888
8
12
  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
- indexify/executor/function_executor/health_checker.py,sha256=Fvd1gmrcjyJqP-8vcsUxfnTHQIMNlHeMWCS70PAVr9E,6095
12
- indexify/executor/function_executor/invocation_state_client.py,sha256=p-xgM4__cHR1ApvMV9hShrGWee_Je0VDhICZUGjpQY4,9644
13
+ indexify/executor/function_executor/function_executor_states_container.py,sha256=MFtHNMkzL3zzoa4YdWaw6X21dzo3P4vdEyJ_OKAuTlw,3766
14
+ indexify/executor/function_executor/function_executor_status.py,sha256=Ms8tHG0wlw__pToeQIfBV6SO9c4tPu3UQgJAwXUkg2M,3597
15
+ indexify/executor/function_executor/health_checker.py,sha256=EVA65Rn7eAC7HXzhZgScMDc57ODnvFopopdye7j1hfU,6254
16
+ indexify/executor/function_executor/invocation_state_client.py,sha256=VTpeNxxfsa0ej20Q_ker5RZVdHiu59HWd5qNOjo6DBQ,9800
13
17
  indexify/executor/function_executor/metrics/function_executor.py,sha256=TDksxLRJr-P9ZKhF2Orsaxzzb4lVIBxFEjd_9Zv53Ng,6313
14
18
  indexify/executor/function_executor/metrics/function_executor_state.py,sha256=qheMhnoiYLiZB7ky5EyegfDy4Mr0Zh83bOE0gJ38YmU,1607
15
19
  indexify/executor/function_executor/metrics/function_executor_state_container.py,sha256=6rrAfml-TivjkHatCM4BLY7jmVs523Wzb6QIysncc-0,302
@@ -21,21 +25,22 @@ indexify/executor/function_executor/server/function_executor_server.py,sha256=_D
21
25
  indexify/executor/function_executor/server/function_executor_server_factory.py,sha256=cP93a3t1AfGx8qwageNLVdTwG52UOwzYNbbyrPq2TUQ,1692
22
26
  indexify/executor/function_executor/server/subprocess_function_executor_server.py,sha256=JekDOqF7oFD4J6zcN3xB0Dxd1cgpEXMOsb_rKZOeBlI,668
23
27
  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
28
+ indexify/executor/function_executor/single_task_runner.py,sha256=wHllYigXy5R9ZiJREDf1EazqxUrhgxEJaSYGQwPUnZU,14140
25
29
  indexify/executor/function_executor/task_input.py,sha256=wSrHR4m0juiGClQyeVdhRC37QzDt6Rrjq-ZXJkfBi9k,584
26
- indexify/executor/function_executor/task_output.py,sha256=kBRy7eSYzxZ3FYQ9PhA56VtBmhJ7ywePICMx_Vx5ipo,3011
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
30
+ indexify/executor/function_executor/task_output.py,sha256=vi0W75T8qbxjtAtI-812HksCv986lH_ijEqc3q0CVww,3424
31
+ indexify/executor/grpc/channel_manager.py,sha256=ihDkLoiGBLfSmoA2szbntjCfL3E_NDf5LABRXE7YRec,6330
32
+ indexify/executor/grpc/function_executor_controller.py,sha256=b_xqiXsA79yIMCHtRJv0i0px6QMToIj9nCTc_km9fHk,16070
30
33
  indexify/executor/grpc/metrics/channel_manager.py,sha256=k-WArgklmP5WhjcmFmrgRblB7yc3XlaOXO8owRyV-mw,649
34
+ indexify/executor/grpc/metrics/state_reconciler.py,sha256=0aI2IM4XztKxFa7NCxYSLafw_iiej3p07yEiKyewXIM,585
31
35
  indexify/executor/grpc/metrics/state_reporter.py,sha256=GggBEjMzQUYIG95LtTS4fUg1u9jYowkaXoUXppAXucs,543
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
36
+ indexify/executor/grpc/metrics/task_controller.py,sha256=9Nm86nGxL2rZ3rAORB0_CBdO--Fe4MBrewVW4CqGyOU,222
37
+ indexify/executor/grpc/state_reconciler.py,sha256=Yx_r1oUBGWjHWqUSUhap2ALZpz_o1Ue-SdL7BOgWQQU,19273
38
+ indexify/executor/grpc/state_reporter.py,sha256=iixvl1nzJ_SfQhTUJpBEfiVlFPvOxQxvZyqT5Szk43Q,10503
39
+ indexify/executor/grpc/task_controller.py,sha256=JrRUkVa8pGoYWBg_RVfn1ThvDhYCgJSMACFPUww7Lys,20851
35
40
  indexify/executor/metrics/downloader.py,sha256=lctPh8xjkXeLEFJnl1hNrD1yEhLhIl5sggsR4Yoe_Zc,2746
36
41
  indexify/executor/metrics/executor.py,sha256=ua-Vv_k1CB4juJdF7tEBQbBMksqWAA3iXKKMKXZUCLk,2369
37
42
  indexify/executor/metrics/task_fetcher.py,sha256=iJEwCLzYr2cuz7hRvNiqaa2nvQP4OrA0hm0iJY0YKG0,736
38
- indexify/executor/metrics/task_reporter.py,sha256=44VT_c7njXlTtPl4xjlsYrIHpaiVAnvhhQdj56RPU6o,1215
43
+ indexify/executor/metrics/task_reporter.py,sha256=DKieoeNvyyP5R0V62OZns_dDjr_UkFcJ4eeuiy4kvkM,1837
39
44
  indexify/executor/metrics/task_runner.py,sha256=ZGFrl7zzfUdgPZnklxRIbnv9wVcHIQRhOGNqn9V2hSk,2047
40
45
  indexify/executor/monitoring/function_allowlist.py,sha256=wUGeiv3aAGWMlQXzHXq9O6MVHby6Tu-zY4U0MyWiQu0,683
41
46
  indexify/executor/monitoring/handler.py,sha256=Cj1cu_LcsAP0tdviqNhoEtGm4h0OJAxxzW9C2YdNXYU,240
@@ -48,13 +53,13 @@ indexify/executor/monitoring/server.py,sha256=yzdYhcxnmY6uTQUMt3vatF5jilN52ZtfFs
48
53
  indexify/executor/monitoring/startup_probe_handler.py,sha256=zXXsBU15SMlBx1bSFpxWDfed1VHtKKnwvLQ8-frpG98,425
49
54
  indexify/executor/runtime_probes.py,sha256=bo6Dq6AGZpJH099j0DHtVSDEH80tv3j9MXf3VXSx_p8,2182
50
55
  indexify/executor/task_fetcher.py,sha256=p3iEsWyGi0ZMPAv0183smzOUD1KycQ_dXsyd9mpB9IU,3529
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/executor/task_reporter.py,sha256=7X-IdLdwNBIfFbazG_4rtfR1A0ZFt03JGYpVJQUTKpE,16704
57
+ indexify/executor/task_runner.py,sha256=UupZbGxU9BN4i1t6M8tH-5k3s4eUPEhMhar1YI0Aztk,7219
58
+ indexify/proto/executor_api.proto,sha256=K1lwFmk042GA1tp8s633FZJVg6Fi8f8LtAuFj8Gz7XU,9930
59
+ indexify/proto/executor_api_pb2.py,sha256=5y570_FIgc6WFhHVAKWFieMuUhyKBA7rPJJ4DJ5hcCM,14054
60
+ indexify/proto/executor_api_pb2.pyi,sha256=5eJJJjPNdTMSttNUOtzGwADbASsCh7138de_Y3l8uq4,18612
56
61
  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,,
62
+ indexify-0.3.21.dist-info/METADATA,sha256=FnyHAJo968nOsbZyCvFSL0rW-6bsaCAilmCZVOTL9lg,1198
63
+ indexify-0.3.21.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
64
+ indexify-0.3.21.dist-info/entry_points.txt,sha256=GU9wmsgvN7nQw3N2X0PMYn1RSvF6CrhH9RuC2D8d3Gk,53
65
+ indexify-0.3.21.dist-info/RECORD,,
@@ -1,26 +0,0 @@
1
- import asyncio
2
- from typing import List, Set
3
-
4
-
5
- class CompletedTasksContainer:
6
- """An asyncio concurrent container for the completed task IDs."""
7
-
8
- def __init__(self):
9
- # The fields below are protected by the lock.
10
- self._lock: asyncio.Lock = asyncio.Lock()
11
- self._completed_task_ids: Set[str] = set()
12
-
13
- async def add(self, task_id: str) -> None:
14
- """Add a task to the container."""
15
- async with self._lock:
16
- self._completed_task_ids.add(task_id)
17
-
18
- async def contains(self, task_id: str) -> bool:
19
- """Check if the task is in the container."""
20
- async with self._lock:
21
- return task_id in self._completed_task_ids
22
-
23
- async def replace(self, task_ids: List[str]) -> None:
24
- """Replaces the task IDs with the supplied task IDs."""
25
- async with self._lock:
26
- self._completed_task_ids = set(task_ids)