indexify 0.4.27__py3-none-any.whl → 0.4.28__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.
@@ -137,7 +137,7 @@ class FunctionExecutorController:
137
137
  self._tasks: Dict[str, TaskInfo] = {}
138
138
  # Tracking of task execution on Function Executor.
139
139
  self._runnable_tasks: List[TaskInfo] = []
140
- self._running_task: Optional[TaskInfo] = None
140
+ self._running_tasks: List[TaskInfo] = []
141
141
 
142
142
  def function_executor_id(self) -> str:
143
143
  return self._fe_description.id
@@ -538,11 +538,9 @@ class FunctionExecutorController:
538
538
 
539
539
  self._start_termination(
540
540
  fe_termination_reason=FunctionExecutorTerminationReason.FUNCTION_EXECUTOR_TERMINATION_REASON_UNHEALTHY,
541
- allocation_ids_caused_termination=(
542
- []
543
- if self._running_task is None
544
- else [self._running_task.allocation.allocation_id]
545
- ),
541
+ allocation_ids_caused_termination=[
542
+ task.allocation.allocation_id for task in self._running_tasks
543
+ ],
546
544
  )
547
545
 
548
546
  def _handle_event_task_preparation_finished(
@@ -601,7 +599,7 @@ class FunctionExecutorController:
601
599
 
602
600
  if (
603
601
  self._internal_state == _FE_CONTROLLER_STATE.RUNNING
604
- and self._running_task is not None
602
+ and len(self._running_tasks) == self._fe_description.max_concurrency
605
603
  ):
606
604
  return
607
605
 
@@ -626,13 +624,13 @@ class FunctionExecutorController:
626
624
  _FE_CONTROLLER_STATE.TERMINATED,
627
625
  ]:
628
626
  if task_info.output is None:
629
- # The output can be set already by FE startup failure handler.
627
+ # The output could be set already by FE startup failure handler.
630
628
  task_info.output = TaskOutput.function_executor_terminated(
631
629
  task_info.allocation
632
630
  )
633
631
  self._start_task_finalization(task_info)
634
632
  elif self._internal_state == _FE_CONTROLLER_STATE.RUNNING:
635
- self._running_task = task_info
633
+ self._running_tasks.append(task_info)
636
634
  next_aio = run_task_on_function_executor(
637
635
  task_info=task_info,
638
636
  function_executor=self._fe,
@@ -667,7 +665,8 @@ class FunctionExecutorController:
667
665
 
668
666
  Doesn't raise any exceptions. Doesn't block.
669
667
  """
670
- self._running_task = None
668
+ task_info: TaskInfo = event.task_info
669
+ self._running_tasks.remove(task_info)
671
670
 
672
671
  if event.function_executor_termination_reason is None:
673
672
  self._add_event(
@@ -681,7 +680,6 @@ class FunctionExecutorController:
681
680
  ],
682
681
  )
683
682
 
684
- task_info: TaskInfo = event.task_info
685
683
  if task_info.output is None:
686
684
  # `run_task_on_function_executor` guarantees that the output is set in
687
685
  # all cases including task cancellations. If this didn't happen then some
@@ -944,7 +942,7 @@ def _to_data_payload_encoding(
944
942
  return DataPayloadEncoding.DATA_PAYLOAD_ENCODING_UTF8_TEXT
945
943
  else:
946
944
  logger.error(
947
- "Unexpected encoding for SerializedObject",
945
+ "unexpected encoding for SerializedObject",
948
946
  encoding=SerializedObjectEncoding.Name(encoding),
949
947
  )
950
948
  return DataPayloadEncoding.DATA_PAYLOAD_ENCODING_UNKNOWN
@@ -25,6 +25,7 @@ def validate_function_executor_description(
25
25
  validator.required_field("customer_code_timeout_ms")
26
26
  validator.required_field("graph")
27
27
  validator.required_field("resources")
28
+ validator.required_field("max_concurrency")
28
29
 
29
30
  _validate_data_payload(function_executor_description.graph)
30
31
 
@@ -65,7 +65,7 @@ async def prepare_task(
65
65
  logger=logger,
66
66
  )
67
67
  logger.info(
68
- "Task was prepared for execution",
68
+ "task was prepared for execution",
69
69
  duration=time.monotonic() - start_time,
70
70
  )
71
71
  return TaskPreparationFinished(
@@ -76,7 +76,7 @@ async def prepare_task(
76
76
  return TaskPreparationFinished(task_info=task_info, is_success=False)
77
77
  except BaseException as e:
78
78
  logger.error(
79
- "Failed to prepare task for execution",
79
+ "failed to prepare task for execution",
80
80
  exc_info=e,
81
81
  duration=time.monotonic() - start_time,
82
82
  )
@@ -176,7 +176,7 @@ async def run_task_on_function_executor(
176
176
  # This is an unexpected exception; we believe that this
177
177
  # indicates an internal error.
178
178
  logger.error(
179
- "Unexpected internal error during task lifecycle RPC sequence", exc_info=e
179
+ "unexpected internal error during task lifecycle RPC sequence", exc_info=e
180
180
  )
181
181
  task_info.output = TaskOutput.internal_error(
182
182
  allocation=task_info.allocation,
@@ -357,7 +357,7 @@ def _to_task_outcome_code(
357
357
  return TaskOutcomeCode.TASK_OUTCOME_CODE_FAILURE
358
358
  else:
359
359
  logger.warning(
360
- "Unknown TaskOutcomeCode received from Function Executor",
360
+ "unknown TaskOutcomeCode received from Function Executor",
361
361
  value=FETaskOutcomeCode.Name(fe_task_outcome_code),
362
362
  )
363
363
  return TaskOutcomeCode.TASK_OUTCOME_CODE_UNKNOWN
@@ -379,7 +379,7 @@ def _to_task_failure_reason(
379
379
  return TaskFailureReason.TASK_FAILURE_REASON_INTERNAL_ERROR
380
380
  else:
381
381
  logger.warning(
382
- "Unknown TaskFailureReason received from Function Executor",
382
+ "unknown TaskFailureReason received from Function Executor",
383
383
  value=FETaskFailureReason.Name(fe_task_failure_reason),
384
384
  )
385
385
  return TaskFailureReason.TASK_FAILURE_REASON_UNKNOWN
@@ -112,7 +112,6 @@ message FunctionExecutorDescription {
112
112
  optional string graph_name = 3;
113
113
  optional string graph_version = 4;
114
114
  optional string function_name = 5;
115
- optional string image_uri = 6;
116
115
  repeated string secret_names = 7;
117
116
  // Timeout for customer code duration during FE creation.
118
117
  optional uint32 customer_code_timeout_ms = 9;
@@ -123,6 +122,7 @@ message FunctionExecutorDescription {
123
122
  // Starts with "file://"" prefix followed by an absolute directory path if the data is stored on a local file system.
124
123
  // Deprecated: most probably going to be removed once external FE logs ingestion pipeline gets implemented.
125
124
  optional string output_payload_uri_prefix = 12;
125
+ optional uint32 max_concurrency = 13;
126
126
  }
127
127
 
128
128
  message FunctionExecutorState {
@@ -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"\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'
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"\xbf\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\x14\n\x0csecret_names\x18\x07 \x03(\t\x12%\n\x18\x63ustomer_code_timeout_ms\x18\t \x01(\rH\x05\x88\x01\x01\x12\x30\n\x05graph\x18\n \x01(\x0b\x32\x1c.executor_api_pb.DataPayloadH\x06\x88\x01\x01\x12\x42\n\tresources\x18\x0b \x01(\x0b\x32*.executor_api_pb.FunctionExecutorResourcesH\x07\x88\x01\x01\x12&\n\x19output_payload_uri_prefix\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x1c\n\x0fmax_concurrency\x18\r \x01(\rH\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\x1b\n\x19_customer_code_timeout_msB\x08\n\x06_graphB\x0c\n\n_resourcesB\x1c\n\x1a_output_payload_uri_prefixB\x12\n\x10_max_concurrency"\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,20 +31,20 @@ 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 = 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
34
+ _globals["_DATAPAYLOADENCODING"]._serialized_start = 5528
35
+ _globals["_DATAPAYLOADENCODING"]._serialized_end = 5737
36
+ _globals["_GPUMODEL"]._serialized_start = 5740
37
+ _globals["_GPUMODEL"]._serialized_end = 5954
38
+ _globals["_FUNCTIONEXECUTORSTATUS"]._serialized_start = 5957
39
+ _globals["_FUNCTIONEXECUTORSTATUS"]._serialized_end = 6136
40
+ _globals["_FUNCTIONEXECUTORTERMINATIONREASON"]._serialized_start = 6139
41
+ _globals["_FUNCTIONEXECUTORTERMINATIONREASON"]._serialized_end = 6671
42
+ _globals["_EXECUTORSTATUS"]._serialized_start = 6674
43
+ _globals["_EXECUTORSTATUS"]._serialized_end = 6839
44
+ _globals["_TASKOUTCOMECODE"]._serialized_start = 6841
45
+ _globals["_TASKOUTCOMECODE"]._serialized_end = 6951
46
+ _globals["_TASKFAILUREREASON"]._serialized_start = 6954
47
+ _globals["_TASKFAILUREREASON"]._serialized_end = 7264
48
48
  _globals["_DATAPAYLOAD"]._serialized_start = 55
49
49
  _globals["_DATAPAYLOAD"]._serialized_end = 322
50
50
  _globals["_GPURESOURCES"]._serialized_start = 324
@@ -56,33 +56,33 @@ if not _descriptor._USE_C_DESCRIPTORS:
56
56
  _globals["_FUNCTIONEXECUTORRESOURCES"]._serialized_start = 815
57
57
  _globals["_FUNCTIONEXECUTORRESOURCES"]._serialized_end = 1031
58
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
59
+ _globals["_FUNCTIONEXECUTORDESCRIPTION"]._serialized_end = 1609
60
+ _globals["_FUNCTIONEXECUTORSTATE"]._serialized_start = 1612
61
+ _globals["_FUNCTIONEXECUTORSTATE"]._serialized_end = 1947
62
+ _globals["_FUNCTIONEXECUTORUPDATE"]._serialized_start = 1950
63
+ _globals["_FUNCTIONEXECUTORUPDATE"]._serialized_end = 2218
64
+ _globals["_EXECUTORSTATE"]._serialized_start = 2221
65
+ _globals["_EXECUTORSTATE"]._serialized_end = 2939
66
+ _globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_start = 2752
67
+ _globals["_EXECUTORSTATE_LABELSENTRY"]._serialized_end = 2797
68
+ _globals["_EXECUTORUPDATE"]._serialized_start = 2942
69
+ _globals["_EXECUTORUPDATE"]._serialized_end = 3127
70
+ _globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_start = 3130
71
+ _globals["_REPORTEXECUTORSTATEREQUEST"]._serialized_end = 3321
72
+ _globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_start = 3323
73
+ _globals["_REPORTEXECUTORSTATERESPONSE"]._serialized_end = 3352
74
+ _globals["_TASKRETRYPOLICY"]._serialized_start = 3355
75
+ _globals["_TASKRETRYPOLICY"]._serialized_end = 3562
76
+ _globals["_TASK"]._serialized_start = 3565
77
+ _globals["_TASK"]._serialized_end = 4237
78
+ _globals["_TASKALLOCATION"]._serialized_start = 4240
79
+ _globals["_TASKALLOCATION"]._serialized_end = 4413
80
+ _globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_start = 4415
81
+ _globals["_GETDESIREDEXECUTORSTATESREQUEST"]._serialized_end = 4490
82
+ _globals["_DESIREDEXECUTORSTATE"]._serialized_start = 4493
83
+ _globals["_DESIREDEXECUTORSTATE"]._serialized_end = 4678
84
+ _globals["_TASKRESULT"]._serialized_start = 4681
85
+ _globals["_TASKRESULT"]._serialized_end = 5525
86
+ _globals["_EXECUTORAPI"]._serialized_start = 7267
87
+ _globals["_EXECUTORAPI"]._serialized_end = 7522
88
88
  # @@protoc_insertion_point(module_scope)
@@ -232,35 +232,35 @@ class FunctionExecutorDescription(_message.Message):
232
232
  "graph_name",
233
233
  "graph_version",
234
234
  "function_name",
235
- "image_uri",
236
235
  "secret_names",
237
236
  "customer_code_timeout_ms",
238
237
  "graph",
239
238
  "resources",
240
239
  "output_payload_uri_prefix",
240
+ "max_concurrency",
241
241
  )
242
242
  ID_FIELD_NUMBER: _ClassVar[int]
243
243
  NAMESPACE_FIELD_NUMBER: _ClassVar[int]
244
244
  GRAPH_NAME_FIELD_NUMBER: _ClassVar[int]
245
245
  GRAPH_VERSION_FIELD_NUMBER: _ClassVar[int]
246
246
  FUNCTION_NAME_FIELD_NUMBER: _ClassVar[int]
247
- IMAGE_URI_FIELD_NUMBER: _ClassVar[int]
248
247
  SECRET_NAMES_FIELD_NUMBER: _ClassVar[int]
249
248
  CUSTOMER_CODE_TIMEOUT_MS_FIELD_NUMBER: _ClassVar[int]
250
249
  GRAPH_FIELD_NUMBER: _ClassVar[int]
251
250
  RESOURCES_FIELD_NUMBER: _ClassVar[int]
252
251
  OUTPUT_PAYLOAD_URI_PREFIX_FIELD_NUMBER: _ClassVar[int]
252
+ MAX_CONCURRENCY_FIELD_NUMBER: _ClassVar[int]
253
253
  id: str
254
254
  namespace: str
255
255
  graph_name: str
256
256
  graph_version: str
257
257
  function_name: str
258
- image_uri: str
259
258
  secret_names: _containers.RepeatedScalarFieldContainer[str]
260
259
  customer_code_timeout_ms: int
261
260
  graph: DataPayload
262
261
  resources: FunctionExecutorResources
263
262
  output_payload_uri_prefix: str
263
+ max_concurrency: int
264
264
  def __init__(
265
265
  self,
266
266
  id: _Optional[str] = ...,
@@ -268,12 +268,12 @@ class FunctionExecutorDescription(_message.Message):
268
268
  graph_name: _Optional[str] = ...,
269
269
  graph_version: _Optional[str] = ...,
270
270
  function_name: _Optional[str] = ...,
271
- image_uri: _Optional[str] = ...,
272
271
  secret_names: _Optional[_Iterable[str]] = ...,
273
272
  customer_code_timeout_ms: _Optional[int] = ...,
274
273
  graph: _Optional[_Union[DataPayload, _Mapping]] = ...,
275
274
  resources: _Optional[_Union[FunctionExecutorResources, _Mapping]] = ...,
276
275
  output_payload_uri_prefix: _Optional[str] = ...,
276
+ max_concurrency: _Optional[int] = ...,
277
277
  ) -> None: ...
278
278
 
279
279
  class FunctionExecutorState(_message.Message):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: indexify
3
- Version: 0.4.27
3
+ Version: 0.4.28
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
@@ -14,16 +14,16 @@ Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
15
  Classifier: Programming Language :: Python :: 3.13
16
16
  Requires-Dist: aiohttp (>=3.12.15,<4.0.0)
17
- Requires-Dist: boto3 (>=1.40.6,<2.0.0)
17
+ Requires-Dist: boto3 (>=1.40.12,<2.0.0)
18
18
  Requires-Dist: docker (>=7.1.0,<8.0.0)
19
19
  Requires-Dist: httpx[http2] (==0.27.2)
20
20
  Requires-Dist: nanoid (>=2.0.0,<3.0.0)
21
21
  Requires-Dist: prometheus-client (>=0.22.1,<0.23.0)
22
22
  Requires-Dist: psutil (>=7.0.0,<8.0.0)
23
23
  Requires-Dist: pydantic (>=2.11,<3.0)
24
- Requires-Dist: requests (>=2.32.4,<3.0.0)
24
+ Requires-Dist: requests (>=2.32.5,<3.0.0)
25
25
  Requires-Dist: structlog (==25.4.0)
26
- Requires-Dist: tensorlake (==0.2.39)
26
+ Requires-Dist: tensorlake (==0.2.42)
27
27
  Requires-Dist: urllib3 (>=2.5.0,<3.0.0)
28
28
  Project-URL: Repository, https://github.com/tensorlakeai/indexify
29
29
  Description-Content-Type: text/markdown
@@ -29,17 +29,17 @@ indexify/executor/function_executor_controller/debug_event_loop.py,sha256=VJOKe_
29
29
  indexify/executor/function_executor_controller/downloads.py,sha256=B2dbaa6osp1_vCQ6WY_9znAca3Z2qqVzQAF2av3v8Pg,5304
30
30
  indexify/executor/function_executor_controller/events.py,sha256=M3taTBSxHG5CYWXfvk-BPtcV9bX-VDmSQDaNdGKK7Hk,5633
31
31
  indexify/executor/function_executor_controller/finalize_task.py,sha256=letfBqGXPTubvOfbRg7cvdgtvrwkSnSezx4XRknYvKM,6624
32
- indexify/executor/function_executor_controller/function_executor_controller.py,sha256=WeetrN34i6YPA3z1VQvd_zw0bpodwiSArCb7-rYlm7M,39814
32
+ indexify/executor/function_executor_controller/function_executor_controller.py,sha256=euQWkm3JFKaZFE28hwr-3vnbBnlSQuQbd3R7zApkvIU,39810
33
33
  indexify/executor/function_executor_controller/loggers.py,sha256=zEY2nt15gboX3SX6Kh1xjeCljZJZSE4lp27qNrg8yPY,3637
34
- indexify/executor/function_executor_controller/message_validators.py,sha256=7Hgu6GItKU5_zz_YHtHT5NlWIHnvof2P-o_21pto9vU,3128
34
+ indexify/executor/function_executor_controller/message_validators.py,sha256=24T3Nm8tkyo2XXlcIg6b2e0P5_M26O62jcI8o7nsnVo,3176
35
35
  indexify/executor/function_executor_controller/metrics/completed_task_metrics.py,sha256=53EGBCLwCEV-RBBeyLPTElrtcveaEM0Fwxs9NmC1Hn8,2724
36
36
  indexify/executor/function_executor_controller/metrics/downloads.py,sha256=G8UUDfnzmiK_26OvZYTqH0KgNb3kI-0TgzGLFEuSEFc,892
37
37
  indexify/executor/function_executor_controller/metrics/finalize_task.py,sha256=KlJ9o3DQ8VSWNBpMrugr0CT7sSZm2J1LH6lvZhzsQ6E,743
38
38
  indexify/executor/function_executor_controller/metrics/function_executor_controller.py,sha256=gyIZHbdsNSnrA6z4WDaRAunNolFrbbg1pa8JaL_ODNE,2666
39
39
  indexify/executor/function_executor_controller/metrics/prepare_task.py,sha256=7nHuerFWGqRCRqtgpL3vJVs-DHwxwFhBZaGjrtfOlys,764
40
40
  indexify/executor/function_executor_controller/metrics/run_task.py,sha256=ZFv_nw5_pKUJoTaavSyzdglQKW4uvC2XyK8S6xi9xLQ,1064
41
- indexify/executor/function_executor_controller/prepare_task.py,sha256=9vUPrbaz5AQVSbe0LvTOD7lkn-02P_UvMQyjZmjhGHo,9170
42
- indexify/executor/function_executor_controller/run_task.py,sha256=kbQGhopCzbARczzZ4zXAvWkgWLlI9kMXSVXSOOrssos,15483
41
+ indexify/executor/function_executor_controller/prepare_task.py,sha256=EPdqidd4MpCvpvgTZKQsJJL3iwfhpwaz37_EY3z_XS0,9170
42
+ indexify/executor/function_executor_controller/run_task.py,sha256=eaESmOz7IQWFT6Q6VbZV_uSB3mjy47s4ihw2BBD3Oa4,15483
43
43
  indexify/executor/function_executor_controller/task_info.py,sha256=ufhb4PvQuXyY4JUlddNyN2bJQdUeGlMTMIRlKz_WzXc,1015
44
44
  indexify/executor/function_executor_controller/task_input.py,sha256=PHCzqpjzTzw4TJTn6wncon3P08EiTVRJazEYRbTqDu8,876
45
45
  indexify/executor/function_executor_controller/task_output.py,sha256=_uf0Wi1K-kaKPXED1RmKQZ9rpmjXFA4ONLn6ZOj2-UE,7127
@@ -63,11 +63,11 @@ indexify/executor/monitoring/server.py,sha256=yzdYhcxnmY6uTQUMt3vatF5jilN52ZtfFs
63
63
  indexify/executor/monitoring/startup_probe_handler.py,sha256=zXXsBU15SMlBx1bSFpxWDfed1VHtKKnwvLQ8-frpG98,425
64
64
  indexify/executor/state_reconciler.py,sha256=8l4O0IjovnQNI39AQsst4qPb2qFdEncZiEvVl8nLjYI,20248
65
65
  indexify/executor/state_reporter.py,sha256=zf5UBhBZVv9SQ1Ju_bY8w6D_t1hBZ5YVXhjeFMEgRms,15208
66
- indexify/proto/executor_api.proto,sha256=yYLx3LTx2hGDFJX8myCosS3_eAWUMWdsWt59PH7O-QQ,12864
67
- indexify/proto/executor_api_pb2.py,sha256=ZrJg5ivsv-Kn8QRRsFWupdKCo6Eru6UNR8iYRqo5AhE,16458
68
- indexify/proto/executor_api_pb2.pyi,sha256=YfKsaIYaePZkpLTk_toAsWfH50xOOYfjjU3aWsci9w0,23151
66
+ indexify/proto/executor_api.proto,sha256=YwLeLjyLHhs5qoWLA50uHY2KdKRGfBQBKZwE8VXmzeo,12871
67
+ indexify/proto/executor_api_pb2.py,sha256=vTG1-2Pp4OnTWFD4GYphgJ3cUbTbDjCOKstKrLBXB-E,16472
68
+ indexify/proto/executor_api_pb2.pyi,sha256=-6P-ef-fBJF0CTc4UucIzrDLCBVZpIEhEz2qhexvwjk,23175
69
69
  indexify/proto/executor_api_pb2_grpc.py,sha256=u9GEQV4nm_GvApRxjVo806CkgBMBVReb5IVrcaDaliY,7520
70
- indexify-0.4.27.dist-info/METADATA,sha256=oBpQeVTH9cqACfgnpRxemwOHt5Y70tqbw-5bPNVB_NQ,1389
71
- indexify-0.4.27.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
72
- indexify-0.4.27.dist-info/entry_points.txt,sha256=rMJqbE5KPZIXTPIfAtVIM4zpUElqYVgEYd6i7N23zzg,49
73
- indexify-0.4.27.dist-info/RECORD,,
70
+ indexify-0.4.28.dist-info/METADATA,sha256=gtwcTBq-IRRXsCSEXv4hO2SJuFWQyC_bTJ5MeJEV-f8,1390
71
+ indexify-0.4.28.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
72
+ indexify-0.4.28.dist-info/entry_points.txt,sha256=rMJqbE5KPZIXTPIfAtVIM4zpUElqYVgEYd6i7N23zzg,49
73
+ indexify-0.4.28.dist-info/RECORD,,