indexify 0.4.2__tar.gz → 0.4.4__tar.gz

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 (68) hide show
  1. {indexify-0.4.2 → indexify-0.4.4}/PKG-INFO +3 -4
  2. {indexify-0.4.2 → indexify-0.4.4}/pyproject.toml +5 -4
  3. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/create_function_executor.py +5 -1
  4. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/message_validators.py +5 -1
  5. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/host_resources/nvidia_gpu_allocator.py +8 -1
  6. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/proto/executor_api.proto +1 -1
  7. indexify-0.4.4/src/indexify/proto/executor_api_pb2.py +86 -0
  8. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/proto/executor_api_pb2.pyi +6 -6
  9. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/proto/executor_api_pb2_grpc.py +1 -1
  10. indexify-0.4.2/src/indexify/proto/executor_api_pb2.py +0 -86
  11. {indexify-0.4.2 → indexify-0.4.4}/README.md +0 -0
  12. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/cli/__init__.py +0 -0
  13. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/cli/build_image.py +0 -0
  14. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/cli/deploy.py +0 -0
  15. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/cli/executor.py +0 -0
  16. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/README.md +0 -0
  17. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/blob_store/blob_store.py +0 -0
  18. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/blob_store/local_fs_blob_store.py +0 -0
  19. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/blob_store/metrics/blob_store.py +0 -0
  20. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/blob_store/s3_blob_store.py +0 -0
  21. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/channel_manager.py +0 -0
  22. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/executor.py +0 -0
  23. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_allowlist.py +0 -0
  24. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/function_executor.py +0 -0
  25. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/health_checker.py +0 -0
  26. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/invocation_state_client.py +0 -0
  27. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/metrics/function_executor.py +0 -0
  28. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/metrics/health_checker.py +0 -0
  29. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/metrics/invocation_state_client.py +0 -0
  30. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/server/client_configuration.py +0 -0
  31. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/server/function_executor_server.py +0 -0
  32. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/server/function_executor_server_factory.py +0 -0
  33. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/server/subprocess_function_executor_server.py +0 -0
  34. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py +0 -0
  35. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/__init__.py +0 -0
  36. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/completed_task_metrics.py +0 -0
  37. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/debug_event_loop.py +0 -0
  38. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/destroy_function_executor.py +0 -0
  39. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/downloads.py +0 -0
  40. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/events.py +0 -0
  41. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/function_executor_controller.py +0 -0
  42. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/loggers.py +0 -0
  43. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/metrics/completed_task_metrics.py +0 -0
  44. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/metrics/downloads.py +0 -0
  45. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/metrics/function_executor_controller.py +0 -0
  46. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/metrics/run_task.py +0 -0
  47. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/metrics/upload_task_output.py +0 -0
  48. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/prepare_task.py +0 -0
  49. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/run_task.py +0 -0
  50. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/task_info.py +0 -0
  51. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/task_output.py +0 -0
  52. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/function_executor_controller/upload_task_output.py +0 -0
  53. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/host_resources/host_resources.py +0 -0
  54. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/host_resources/nvidia_gpu.py +0 -0
  55. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/metrics/channel_manager.py +0 -0
  56. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/metrics/executor.py +0 -0
  57. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/metrics/state_reconciler.py +0 -0
  58. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/metrics/state_reporter.py +0 -0
  59. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/monitoring/handler.py +0 -0
  60. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/monitoring/health_check_handler.py +0 -0
  61. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/monitoring/health_checker/generic_health_checker.py +0 -0
  62. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/monitoring/health_checker/health_checker.py +0 -0
  63. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/monitoring/metrics.py +0 -0
  64. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/monitoring/prometheus_metrics_handler.py +0 -0
  65. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/monitoring/server.py +0 -0
  66. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/monitoring/startup_probe_handler.py +0 -0
  67. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/state_reconciler.py +0 -0
  68. {indexify-0.4.2 → indexify-0.4.4}/src/indexify/executor/state_reporter.py +0 -0
@@ -1,15 +1,14 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: indexify
3
- Version: 0.4.2
3
+ Version: 0.4.4
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,<4.0
9
+ Requires-Python: >=3.10,<4.0
10
10
  Classifier: License :: Other/Proprietary License
11
11
  Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.9
13
12
  Classifier: Programming Language :: Python :: 3.10
14
13
  Classifier: Programming Language :: Python :: 3.11
15
14
  Classifier: Programming Language :: Python :: 3.12
@@ -18,7 +17,7 @@ Requires-Dist: aiohttp (>=3.11.0,<4.0.0)
18
17
  Requires-Dist: boto3 (>=1.37.30,<2.0.0)
19
18
  Requires-Dist: prometheus-client (>=0.21.1,<0.22.0)
20
19
  Requires-Dist: psutil (>=7.0.0,<8.0.0)
21
- Requires-Dist: tensorlake (>=0.1)
20
+ Requires-Dist: tensorlake (==0.1.85)
22
21
  Project-URL: Repository, https://github.com/tensorlakeai/indexify
23
22
  Description-Content-Type: text/markdown
24
23
 
@@ -1,7 +1,7 @@
1
1
  [tool.poetry]
2
2
  name = "indexify"
3
3
  # Incremented if any of the components provided in this packages are updated.
4
- version = "0.4.2"
4
+ version = "0.4.4"
5
5
  description = "Open Source Indexify components and helper tools"
6
6
  authors = ["Tensorlake Inc. <support@tensorlake.ai>"]
7
7
  license = "Apache 2.0"
@@ -14,7 +14,7 @@ indexify-cli = "indexify.cli:cli"
14
14
 
15
15
  [tool.poetry.dependencies]
16
16
  # Common dependencies
17
- python = "^3.9"
17
+ python = "^3.10"
18
18
  # structlog is provided by tensorlake
19
19
  # pyyaml is provided by tensorlake
20
20
  # httpx is provided by tensorlake
@@ -23,8 +23,9 @@ python = "^3.9"
23
23
  aiohttp = "^3.11.0"
24
24
  prometheus-client = "^0.21.1"
25
25
  psutil = "^7.0.0"
26
- # Adds function-executor binary and utils lib.
27
- tensorlake = ">=0.1"
26
+ # Adds function-executor binary, utils lib, sdk used in indexify-cli commands.
27
+ # We need to specify the tensorlake version exactly because pip install doesn't respect poetry.lock files.
28
+ tensorlake = "0.1.85"
28
29
  # Uncomment the next line to use local tensorlake package (only for development!)
29
30
  # tensorlake = { path = "../tensorlake", develop = true }
30
31
  # pydantic is provided by tensorlake
@@ -105,6 +105,10 @@ async def _create_function_executor(
105
105
  logger=logger,
106
106
  )
107
107
 
108
+ gpu_count: int = 0
109
+ if function_executor_description.resources.HasField("gpu"):
110
+ gpu_count = function_executor_description.resources.gpu.count
111
+
108
112
  config: FunctionExecutorServerConfiguration = FunctionExecutorServerConfiguration(
109
113
  executor_id=executor_id,
110
114
  function_executor_id=function_executor_description.id,
@@ -117,7 +121,7 @@ async def _create_function_executor(
117
121
  cpu_ms_per_sec=function_executor_description.resources.cpu_ms_per_sec,
118
122
  memory_bytes=function_executor_description.resources.memory_bytes,
119
123
  disk_bytes=function_executor_description.resources.disk_bytes,
120
- gpu_count=function_executor_description.resources.gpu_count,
124
+ gpu_count=gpu_count,
121
125
  )
122
126
  if function_executor_description.HasField("image_uri"):
123
127
  config.image_uri = function_executor_description.image_uri
@@ -32,7 +32,11 @@ def validate_function_executor_description(
32
32
  validator.required_field("cpu_ms_per_sec")
33
33
  validator.required_field("memory_bytes")
34
34
  validator.required_field("disk_bytes")
35
- validator.required_field("gpu_count")
35
+
36
+ if function_executor_description.resources.HasField("gpu"):
37
+ validator = MessageValidator(function_executor_description.resources.gpu)
38
+ validator.required_field("count")
39
+ validator.required_field("model")
36
40
 
37
41
 
38
42
  def validate_task(task: Task) -> None:
@@ -40,11 +40,18 @@ class NvidiaGPUAllocator:
40
40
  allocated_gpus: List[NvidiaGPUInfo] = []
41
41
  for _ in range(count):
42
42
  allocated_gpus.append(self._free_gpus.pop())
43
+
44
+ if len(allocated_gpus) > 0:
45
+ logger.bind(module=__name__).info("allocated GPUs:", gpus=allocated_gpus)
46
+
43
47
  return allocated_gpus
44
48
 
45
- def deallocate(self, gpus: List[NvidiaGPUInfo]) -> None:
49
+ def deallocate(self, gpus: List[NvidiaGPUInfo], logger: Any) -> None:
46
50
  self._free_gpus.extend(gpus)
47
51
 
52
+ if len(gpus) > 0:
53
+ logger.bind(module=__name__).info("deallocated GPUs:", gpus=gpus)
54
+
48
55
  def list_all(self) -> List[NvidiaGPUInfo]:
49
56
  return list(self._all_gpus) # Return a copy to avoid external modification
50
57
 
@@ -94,7 +94,7 @@ message FunctionExecutorResources {
94
94
  optional uint32 cpu_ms_per_sec = 1;
95
95
  optional uint64 memory_bytes = 2;
96
96
  optional uint64 disk_bytes = 3;
97
- optional uint32 gpu_count = 4;
97
+ optional GPUResources gpu = 4;
98
98
  }
99
99
 
100
100
  message FunctionExecutorDescription {
@@ -0,0 +1,86 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: indexify/proto/executor_api.proto
5
+ # Protobuf Python Version: 6.31.0
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+
13
+ _runtime_version.ValidateProtobufRuntimeVersion(
14
+ _runtime_version.Domain.PUBLIC, 6, 31, 0, "", "indexify/proto/executor_api.proto"
15
+ )
16
+ # @@protoc_insertion_point(imports)
17
+
18
+ _sym_db = _symbol_database.Default()
19
+
20
+
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"\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\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\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_resources"\xa4\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\x42\x0e\n\x0c_descriptionB\t\n\x07_statusB\x15\n\x13_termination_reason"\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"\x9f\x01\n\x1aReportExecutorStateRequest\x12;\n\x0e\x65xecutor_state\x18\x01 \x01(\x0b\x32\x1e.executor_api_pb.ExecutorStateH\x00\x88\x01\x01\x12\x31\n\x0ctask_results\x18\x02 \x03(\x0b\x32\x1b.executor_api_pb.TaskResultB\x11\n\x0f_executor_state"\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"\'\n\rResultRouting\x12\x16\n\x0enext_functions\x18\x01 \x03(\t"\xd3\x05\n\nTaskResult\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\x05 \x01(\tH\x04\x88\x01\x01\x12\x14\n\x07reducer\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12;\n\x0coutcome_code\x18\x07 \x01(\x0e\x32 .executor_api_pb.TaskOutcomeCodeH\x06\x88\x01\x01\x12?\n\x0e\x66\x61ilure_reason\x18\x08 \x01(\x0e\x32".executor_api_pb.TaskFailureReasonH\x07\x88\x01\x01\x12\x16\n\x0enext_functions\x18\t \x03(\t\x12\x36\n\x10\x66unction_outputs\x18\n \x03(\x0b\x32\x1c.executor_api_pb.DataPayload\x12\x31\n\x06stdout\x18\x0b \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x08\x88\x01\x01\x12\x31\n\x06stderr\x18\x0c \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\t\x88\x01\x01\x12\x1a\n\rallocation_id\x18\r \x01(\tH\n\x88\x01\x01\x12/\n\x07routing\x18\x0e \x01(\x0b\x32\x1e.executor_api_pb.ResultRoutingB\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_reducerB\x0f\n\r_outcome_codeB\x11\n\x0f_failure_reasonB\t\n\x07_stdoutB\t\n\x07_stderrB\x10\n\x0e_allocation_id*\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*\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*\x95\x05\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:\n6FUNCTION_EXECUTOR_TERMINATION_REASON_EXECUTOR_SHUTDOWN\x10\n\x12\x43\n?FUNCTION_EXECUTOR_TERMINATION_REASON_REMOVED_FROM_DESIRED_STATE\x10\x0b\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*\x8c\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_TASK_CANCELLED\x10\x04\x12\x34\n0TASK_FAILURE_REASON_FUNCTION_EXECUTOR_TERMINATED\x10\x05\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
+ )
24
+
25
+ _globals = globals()
26
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
27
+ _builder.BuildTopDescriptorsAndMessages(
28
+ DESCRIPTOR, "indexify.proto.executor_api_pb2", _globals
29
+ )
30
+ if not _descriptor._USE_C_DESCRIPTORS:
31
+ DESCRIPTOR._loaded_options = None
32
+ _globals["_EXECUTORSTATE_LABELSENTRY"]._loaded_options = None
33
+ _globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_options = b"8\001"
34
+ _globals["_DATAPAYLOADENCODING"]._serialized_start = 4710
35
+ _globals["_DATAPAYLOADENCODING"]._serialized_end = 4881
36
+ _globals["_GPUMODEL"]._serialized_start = 4884
37
+ _globals["_GPUMODEL"]._serialized_end = 5098
38
+ _globals["_FUNCTIONEXECUTORSTATUS"]._serialized_start = 5101
39
+ _globals["_FUNCTIONEXECUTORSTATUS"]._serialized_end = 5280
40
+ _globals["_FUNCTIONEXECUTORTERMINATIONREASON"]._serialized_start = 5283
41
+ _globals["_FUNCTIONEXECUTORTERMINATIONREASON"]._serialized_end = 5944
42
+ _globals["_EXECUTORSTATUS"]._serialized_start = 5947
43
+ _globals["_EXECUTORSTATUS"]._serialized_end = 6112
44
+ _globals["_TASKOUTCOMECODE"]._serialized_start = 6114
45
+ _globals["_TASKOUTCOMECODE"]._serialized_end = 6224
46
+ _globals["_TASKFAILUREREASON"]._serialized_start = 6227
47
+ _globals["_TASKFAILUREREASON"]._serialized_end = 6495
48
+ _globals["_DATAPAYLOAD"]._serialized_start = 55
49
+ _globals["_DATAPAYLOAD"]._serialized_end = 290
50
+ _globals["_GPURESOURCES"]._serialized_start = 292
51
+ _globals["_GPURESOURCES"]._serialized_end = 393
52
+ _globals["_HOSTRESOURCES"]._serialized_start = 396
53
+ _globals["_HOSTRESOURCES"]._serialized_end = 590
54
+ _globals["_ALLOWEDFUNCTION"]._serialized_start = 593
55
+ _globals["_ALLOWEDFUNCTION"]._serialized_end = 780
56
+ _globals["_FUNCTIONEXECUTORRESOURCES"]._serialized_start = 783
57
+ _globals["_FUNCTIONEXECUTORRESOURCES"]._serialized_end = 999
58
+ _globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_start = 1002
59
+ _globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_end = 1495
60
+ _globals["_FUNCTIONEXECUTORSTATE"]._serialized_start = 1498
61
+ _globals["_FUNCTIONEXECUTORSTATE"]._serialized_end = 1790
62
+ _globals["_EXECUTORSTATE"]._serialized_start = 1793
63
+ _globals["_EXECUTORSTATE"]._serialized_end = 2511
64
+ _globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_start = 2324
65
+ _globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_end = 2369
66
+ _globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_start = 2514
67
+ _globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_end = 2673
68
+ _globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_start = 2675
69
+ _globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_end = 2704
70
+ _globals["_TASKRETRYPOLICY"]._serialized_start = 2707
71
+ _globals["_TASKRETRYPOLICY"]._serialized_end = 2914
72
+ _globals["_TASK"]._serialized_start = 2917
73
+ _globals["_TASK"]._serialized_end = 3499
74
+ _globals["_TASKALLOCATION"]._serialized_start = 3502
75
+ _globals["_TASKALLOCATION"]._serialized_end = 3675
76
+ _globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_start = 3677
77
+ _globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_end = 3752
78
+ _globals["_DESIREDEXECUTORSTATE"]._serialized_start = 3755
79
+ _globals["_DESIREDEXECUTORSTATE"]._serialized_end = 3940
80
+ _globals["_RESULTROUTING"]._serialized_start = 3942
81
+ _globals["_RESULTROUTING"]._serialized_end = 3981
82
+ _globals["_TASKRESULT"]._serialized_start = 3984
83
+ _globals["_TASKRESULT"]._serialized_end = 4707
84
+ _globals["_EXECUTORAPI"]._serialized_start = 6498
85
+ _globals["_EXECUTORAPI"]._serialized_end = 6753
86
+ # @@protoc_insertion_point(module_scope)
@@ -1,6 +1,6 @@
1
+ from collections.abc import Iterable as _Iterable
2
+ from collections.abc import Mapping as _Mapping
1
3
  from typing import ClassVar as _ClassVar
2
- from typing import Iterable as _Iterable
3
- from typing import Mapping as _Mapping
4
4
  from typing import Optional as _Optional
5
5
  from typing import Union as _Union
6
6
 
@@ -213,21 +213,21 @@ class AllowedFunction(_message.Message):
213
213
  ) -> None: ...
214
214
 
215
215
  class FunctionExecutorResources(_message.Message):
216
- __slots__ = ("cpu_ms_per_sec", "memory_bytes", "disk_bytes", "gpu_count")
216
+ __slots__ = ("cpu_ms_per_sec", "memory_bytes", "disk_bytes", "gpu")
217
217
  CPU_MS_PER_SEC_FIELD_NUMBER: _ClassVar[int]
218
218
  MEMORY_BYTES_FIELD_NUMBER: _ClassVar[int]
219
219
  DISK_BYTES_FIELD_NUMBER: _ClassVar[int]
220
- GPU_COUNT_FIELD_NUMBER: _ClassVar[int]
220
+ GPU_FIELD_NUMBER: _ClassVar[int]
221
221
  cpu_ms_per_sec: int
222
222
  memory_bytes: int
223
223
  disk_bytes: int
224
- gpu_count: int
224
+ gpu: GPUResources
225
225
  def __init__(
226
226
  self,
227
227
  cpu_ms_per_sec: _Optional[int] = ...,
228
228
  memory_bytes: _Optional[int] = ...,
229
229
  disk_bytes: _Optional[int] = ...,
230
- gpu_count: _Optional[int] = ...,
230
+ gpu: _Optional[_Union[GPUResources, _Mapping]] = ...,
231
231
  ) -> None: ...
232
232
 
233
233
  class FunctionExecutorDescription(_message.Message):
@@ -6,7 +6,7 @@ import grpc
6
6
 
7
7
  from indexify.proto import executor_api_pb2 as indexify_dot_proto_dot_executor__api__pb2
8
8
 
9
- GRPC_GENERATED_VERSION = "1.70.0"
9
+ GRPC_GENERATED_VERSION = "1.73.0"
10
10
  GRPC_VERSION = grpc.__version__
11
11
  _version_not_supported = False
12
12
 
@@ -1,86 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # NO CHECKED-IN PROTOBUF GENCODE
4
- # source: indexify/proto/executor_api.proto
5
- # Protobuf Python Version: 5.29.0
6
- """Generated protocol buffer code."""
7
- from google.protobuf import descriptor as _descriptor
8
- from google.protobuf import descriptor_pool as _descriptor_pool
9
- from google.protobuf import runtime_version as _runtime_version
10
- from google.protobuf import symbol_database as _symbol_database
11
- from google.protobuf.internal import builder as _builder
12
-
13
- _runtime_version.ValidateProtobufRuntimeVersion(
14
- _runtime_version.Domain.PUBLIC, 5, 29, 0, "", "indexify/proto/executor_api.proto"
15
- )
16
- # @@protoc_insertion_point(imports)
17
-
18
- _sym_db = _symbol_database.Default()
19
-
20
-
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"\xc5\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\x16\n\tgpu_count\x18\x04 \x01(\rH\x03\x88\x01\x01\x42\x11\n\x0f_cpu_ms_per_secB\x0f\n\r_memory_bytesB\r\n\x0b_disk_bytesB\x0c\n\n_gpu_count"\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\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\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_resources"\xa4\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\x42\x0e\n\x0c_descriptionB\t\n\x07_statusB\x15\n\x13_termination_reason"\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"\x9f\x01\n\x1aReportExecutorStateRequest\x12;\n\x0e\x65xecutor_state\x18\x01 \x01(\x0b\x32\x1e.executor_api_pb.ExecutorStateH\x00\x88\x01\x01\x12\x31\n\x0ctask_results\x18\x02 \x03(\x0b\x32\x1b.executor_api_pb.TaskResultB\x11\n\x0f_executor_state"\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"\'\n\rResultRouting\x12\x16\n\x0enext_functions\x18\x01 \x03(\t"\xd3\x05\n\nTaskResult\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\x05 \x01(\tH\x04\x88\x01\x01\x12\x14\n\x07reducer\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12;\n\x0coutcome_code\x18\x07 \x01(\x0e\x32 .executor_api_pb.TaskOutcomeCodeH\x06\x88\x01\x01\x12?\n\x0e\x66\x61ilure_reason\x18\x08 \x01(\x0e\x32".executor_api_pb.TaskFailureReasonH\x07\x88\x01\x01\x12\x16\n\x0enext_functions\x18\t \x03(\t\x12\x36\n\x10\x66unction_outputs\x18\n \x03(\x0b\x32\x1c.executor_api_pb.DataPayload\x12\x31\n\x06stdout\x18\x0b \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x08\x88\x01\x01\x12\x31\n\x06stderr\x18\x0c \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\t\x88\x01\x01\x12\x1a\n\rallocation_id\x18\r \x01(\tH\n\x88\x01\x01\x12/\n\x07routing\x18\x0e \x01(\x0b\x32\x1e.executor_api_pb.ResultRoutingB\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_reducerB\x0f\n\r_outcome_codeB\x11\n\x0f_failure_reasonB\t\n\x07_stdoutB\t\n\x07_stderrB\x10\n\x0e_allocation_id*\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*\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*\x95\x05\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:\n6FUNCTION_EXECUTOR_TERMINATION_REASON_EXECUTOR_SHUTDOWN\x10\n\x12\x43\n?FUNCTION_EXECUTOR_TERMINATION_REASON_REMOVED_FROM_DESIRED_STATE\x10\x0b\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*\x8c\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_TASK_CANCELLED\x10\x04\x12\x34\n0TASK_FAILURE_REASON_FUNCTION_EXECUTOR_TERMINATED\x10\x05\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
- )
24
-
25
- _globals = globals()
26
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
27
- _builder.BuildTopDescriptorsAndMessages(
28
- DESCRIPTOR, "indexify.proto.executor_api_pb2", _globals
29
- )
30
- if not _descriptor._USE_C_DESCRIPTORS:
31
- DESCRIPTOR._loaded_options = None
32
- _globals["_EXECUTORSTATE_LABELSENTRY"]._loaded_options = None
33
- _globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_options = b"8\001"
34
- _globals["_DATAPAYLOADENCODING"]._serialized_start = 4691
35
- _globals["_DATAPAYLOADENCODING"]._serialized_end = 4862
36
- _globals["_GPUMODEL"]._serialized_start = 4865
37
- _globals["_GPUMODEL"]._serialized_end = 5079
38
- _globals["_FUNCTIONEXECUTORSTATUS"]._serialized_start = 5082
39
- _globals["_FUNCTIONEXECUTORSTATUS"]._serialized_end = 5261
40
- _globals["_FUNCTIONEXECUTORTERMINATIONREASON"]._serialized_start = 5264
41
- _globals["_FUNCTIONEXECUTORTERMINATIONREASON"]._serialized_end = 5925
42
- _globals["_EXECUTORSTATUS"]._serialized_start = 5928
43
- _globals["_EXECUTORSTATUS"]._serialized_end = 6093
44
- _globals["_TASKOUTCOMECODE"]._serialized_start = 6095
45
- _globals["_TASKOUTCOMECODE"]._serialized_end = 6205
46
- _globals["_TASKFAILUREREASON"]._serialized_start = 6208
47
- _globals["_TASKFAILUREREASON"]._serialized_end = 6476
48
- _globals["_DATAPAYLOAD"]._serialized_start = 55
49
- _globals["_DATAPAYLOAD"]._serialized_end = 290
50
- _globals["_GPURESOURCES"]._serialized_start = 292
51
- _globals["_GPURESOURCES"]._serialized_end = 393
52
- _globals["_HOSTRESOURCES"]._serialized_start = 396
53
- _globals["_HOSTRESOURCES"]._serialized_end = 590
54
- _globals["_ALLOWEDFUNCTION"]._serialized_start = 593
55
- _globals["_ALLOWEDFUNCTION"]._serialized_end = 780
56
- _globals["_FUNCTIONEXECUTORRESOURCES"]._serialized_start = 783
57
- _globals["_FUNCTIONEXECUTORRESOURCES"]._serialized_end = 980
58
- _globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_start = 983
59
- _globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_end = 1476
60
- _globals["_FUNCTIONEXECUTORSTATE"]._serialized_start = 1479
61
- _globals["_FUNCTIONEXECUTORSTATE"]._serialized_end = 1771
62
- _globals["_EXECUTORSTATE"]._serialized_start = 1774
63
- _globals["_EXECUTORSTATE"]._serialized_end = 2492
64
- _globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_start = 2305
65
- _globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_end = 2350
66
- _globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_start = 2495
67
- _globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_end = 2654
68
- _globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_start = 2656
69
- _globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_end = 2685
70
- _globals["_TASKRETRYPOLICY"]._serialized_start = 2688
71
- _globals["_TASKRETRYPOLICY"]._serialized_end = 2895
72
- _globals["_TASK"]._serialized_start = 2898
73
- _globals["_TASK"]._serialized_end = 3480
74
- _globals["_TASKALLOCATION"]._serialized_start = 3483
75
- _globals["_TASKALLOCATION"]._serialized_end = 3656
76
- _globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_start = 3658
77
- _globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_end = 3733
78
- _globals["_DESIREDEXECUTORSTATE"]._serialized_start = 3736
79
- _globals["_DESIREDEXECUTORSTATE"]._serialized_end = 3921
80
- _globals["_RESULTROUTING"]._serialized_start = 3923
81
- _globals["_RESULTROUTING"]._serialized_end = 3962
82
- _globals["_TASKRESULT"]._serialized_start = 3965
83
- _globals["_TASKRESULT"]._serialized_end = 4688
84
- _globals["_EXECUTORAPI"]._serialized_start = 6479
85
- _globals["_EXECUTORAPI"]._serialized_end = 6734
86
- # @@protoc_insertion_point(module_scope)
File without changes