indexify 0.3.30__py3-none-any.whl → 0.4.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- indexify/cli/__init__.py +18 -0
- indexify/cli/build_image.py +51 -0
- indexify/cli/deploy.py +57 -0
- indexify/cli/executor.py +205 -0
- indexify/executor/{grpc/channel_manager.py → channel_manager.py} +17 -11
- indexify/executor/executor.py +57 -311
- indexify/executor/function_allowlist.py +59 -0
- indexify/executor/function_executor/function_executor.py +12 -6
- indexify/executor/function_executor/invocation_state_client.py +25 -3
- indexify/executor/function_executor/server/function_executor_server_factory.py +3 -3
- indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py +22 -11
- indexify/executor/function_executor_controller/__init__.py +13 -0
- indexify/executor/function_executor_controller/completed_task_metrics.py +82 -0
- indexify/executor/function_executor_controller/create_function_executor.py +154 -0
- indexify/executor/function_executor_controller/debug_event_loop.py +37 -0
- indexify/executor/function_executor_controller/destroy_function_executor.py +28 -0
- indexify/executor/function_executor_controller/downloads.py +199 -0
- indexify/executor/function_executor_controller/events.py +172 -0
- indexify/executor/function_executor_controller/function_executor_controller.py +759 -0
- indexify/executor/function_executor_controller/loggers.py +57 -0
- indexify/executor/function_executor_controller/message_validators.py +65 -0
- indexify/executor/function_executor_controller/metrics/completed_task_metrics.py +68 -0
- indexify/executor/{metrics/downloader.py → function_executor_controller/metrics/downloads.py} +1 -3
- indexify/executor/function_executor_controller/metrics/function_executor_controller.py +60 -0
- indexify/executor/{function_executor/metrics/single_task_runner.py → function_executor_controller/metrics/run_task.py} +9 -3
- indexify/executor/function_executor_controller/metrics/upload_task_output.py +39 -0
- indexify/executor/function_executor_controller/prepare_task.py +38 -0
- indexify/executor/function_executor_controller/run_task.py +201 -0
- indexify/executor/function_executor_controller/task_info.py +33 -0
- indexify/executor/function_executor_controller/task_output.py +122 -0
- indexify/executor/function_executor_controller/upload_task_output.py +234 -0
- indexify/executor/host_resources/host_resources.py +20 -25
- indexify/executor/{grpc/metrics → metrics}/channel_manager.py +1 -1
- indexify/executor/metrics/executor.py +0 -47
- indexify/executor/{grpc/metrics → metrics}/state_reconciler.py +1 -1
- indexify/executor/{grpc/metrics → metrics}/state_reporter.py +1 -1
- indexify/executor/monitoring/health_checker/generic_health_checker.py +6 -59
- indexify/executor/monitoring/health_checker/health_checker.py +0 -11
- indexify/executor/{grpc/state_reconciler.py → state_reconciler.py} +139 -141
- indexify/executor/state_reporter.py +364 -0
- indexify/proto/executor_api.proto +67 -59
- indexify/proto/executor_api_pb2.py +52 -52
- indexify/proto/executor_api_pb2.pyi +125 -104
- indexify/proto/executor_api_pb2_grpc.py +0 -47
- {indexify-0.3.30.dist-info → indexify-0.4.2.dist-info}/METADATA +1 -3
- indexify-0.4.2.dist-info/RECORD +68 -0
- indexify-0.4.2.dist-info/entry_points.txt +3 -0
- indexify/cli/cli.py +0 -267
- indexify/executor/api_objects.py +0 -92
- indexify/executor/downloader.py +0 -417
- indexify/executor/executor_flavor.py +0 -7
- indexify/executor/function_executor/function_executor_state.py +0 -107
- indexify/executor/function_executor/function_executor_states_container.py +0 -93
- indexify/executor/function_executor/function_executor_status.py +0 -95
- indexify/executor/function_executor/metrics/function_executor_state.py +0 -46
- indexify/executor/function_executor/metrics/function_executor_state_container.py +0 -10
- indexify/executor/function_executor/single_task_runner.py +0 -345
- indexify/executor/function_executor/task_input.py +0 -21
- indexify/executor/function_executor/task_output.py +0 -105
- indexify/executor/grpc/function_executor_controller.py +0 -418
- indexify/executor/grpc/metrics/task_controller.py +0 -8
- indexify/executor/grpc/state_reporter.py +0 -314
- indexify/executor/grpc/task_controller.py +0 -508
- indexify/executor/metrics/task_fetcher.py +0 -21
- indexify/executor/metrics/task_reporter.py +0 -53
- indexify/executor/metrics/task_runner.py +0 -52
- indexify/executor/monitoring/function_allowlist.py +0 -25
- indexify/executor/runtime_probes.py +0 -68
- indexify/executor/task_fetcher.py +0 -96
- indexify/executor/task_reporter.py +0 -459
- indexify/executor/task_runner.py +0 -177
- indexify-0.3.30.dist-info/RECORD +0 -68
- indexify-0.3.30.dist-info/entry_points.txt +0 -3
- {indexify-0.3.30.dist-info → indexify-0.4.2.dist-info}/WHEEL +0 -0
indexify/executor/task_runner.py
DELETED
@@ -1,177 +0,0 @@
|
|
1
|
-
from typing import Any, Optional
|
2
|
-
|
3
|
-
from .api_objects import Task
|
4
|
-
from .function_executor.function_executor_state import (
|
5
|
-
FunctionExecutorState,
|
6
|
-
FunctionExecutorStatus,
|
7
|
-
)
|
8
|
-
from .function_executor.function_executor_states_container import (
|
9
|
-
FunctionExecutorStatesContainer,
|
10
|
-
)
|
11
|
-
from .function_executor.server.function_executor_server_factory import (
|
12
|
-
FunctionExecutorServerFactory,
|
13
|
-
)
|
14
|
-
from .function_executor.single_task_runner import SingleTaskRunner
|
15
|
-
from .function_executor.task_input import TaskInput
|
16
|
-
from .function_executor.task_output import TaskOutput
|
17
|
-
from .metrics.task_runner import (
|
18
|
-
metric_task_policy_errors,
|
19
|
-
metric_task_policy_latency,
|
20
|
-
metric_task_policy_runs,
|
21
|
-
metric_task_run_latency,
|
22
|
-
metric_task_run_platform_errors,
|
23
|
-
metric_task_runs,
|
24
|
-
metric_tasks_blocked_by_policy,
|
25
|
-
metric_tasks_blocked_by_policy_per_function_name,
|
26
|
-
metric_tasks_running,
|
27
|
-
)
|
28
|
-
|
29
|
-
|
30
|
-
class TaskRunner:
|
31
|
-
"""Routes a task to its container following a scheduling policy.
|
32
|
-
|
33
|
-
Due to the scheduling policy a task might be blocked for a while."""
|
34
|
-
|
35
|
-
def __init__(
|
36
|
-
self,
|
37
|
-
executor_id: str,
|
38
|
-
function_executor_server_factory: FunctionExecutorServerFactory,
|
39
|
-
base_url: str,
|
40
|
-
function_executor_states: FunctionExecutorStatesContainer,
|
41
|
-
config_path: Optional[str],
|
42
|
-
):
|
43
|
-
self._executor_id: str = executor_id
|
44
|
-
self._factory: FunctionExecutorServerFactory = function_executor_server_factory
|
45
|
-
self._base_url: str = base_url
|
46
|
-
self._config_path: Optional[str] = config_path
|
47
|
-
self._function_executor_states: FunctionExecutorStatesContainer = (
|
48
|
-
function_executor_states
|
49
|
-
)
|
50
|
-
|
51
|
-
async def run(self, task_input: TaskInput, logger: Any) -> TaskOutput:
|
52
|
-
logger = logger.bind(module=__name__)
|
53
|
-
state: Optional[FunctionExecutorState] = None
|
54
|
-
|
55
|
-
try:
|
56
|
-
with (
|
57
|
-
metric_task_policy_errors.count_exceptions(),
|
58
|
-
metric_tasks_blocked_by_policy.track_inprogress(),
|
59
|
-
metric_tasks_blocked_by_policy_per_function_name.labels(
|
60
|
-
function_name=task_input.task.compute_fn
|
61
|
-
).track_inprogress(),
|
62
|
-
metric_task_policy_latency.time(),
|
63
|
-
):
|
64
|
-
metric_task_policy_runs.inc()
|
65
|
-
state = await self._acquire_function_executor_for_task_execution(
|
66
|
-
task_input, logger
|
67
|
-
)
|
68
|
-
|
69
|
-
with (
|
70
|
-
metric_task_run_platform_errors.count_exceptions(),
|
71
|
-
metric_tasks_running.track_inprogress(),
|
72
|
-
metric_task_run_latency.time(),
|
73
|
-
):
|
74
|
-
metric_task_runs.inc()
|
75
|
-
return await self._run_task(state, task_input, logger)
|
76
|
-
except Exception as e:
|
77
|
-
logger.error(
|
78
|
-
"failed running the task:",
|
79
|
-
exc_info=e,
|
80
|
-
)
|
81
|
-
return TaskOutput.internal_error(
|
82
|
-
task_id=task_input.task.id,
|
83
|
-
namespace=task_input.task.namespace,
|
84
|
-
graph_name=task_input.task.compute_graph,
|
85
|
-
function_name=task_input.task.compute_fn,
|
86
|
-
graph_version=task_input.task.graph_version,
|
87
|
-
graph_invocation_id=task_input.task.invocation_id,
|
88
|
-
output_payload_uri_prefix=task_input.task.output_payload_uri_prefix,
|
89
|
-
)
|
90
|
-
finally:
|
91
|
-
if state is not None:
|
92
|
-
state.lock.release()
|
93
|
-
|
94
|
-
async def _acquire_function_executor_for_task_execution(
|
95
|
-
self, task_input: TaskInput, logger: Any
|
96
|
-
) -> FunctionExecutorState:
|
97
|
-
"""Waits untils the task acquires a Function Executor state where the task can run.
|
98
|
-
|
99
|
-
The returned Function Executor state is locked and the caller is responsible for releasing the lock.
|
100
|
-
"""
|
101
|
-
logger.info("task is blocked by policy")
|
102
|
-
state = await self._function_executor_states.get_or_create_state(
|
103
|
-
id=_function_id_without_version(task_input.task),
|
104
|
-
namespace=task_input.task.namespace,
|
105
|
-
graph_name=task_input.task.compute_graph,
|
106
|
-
graph_version=task_input.task.graph_version,
|
107
|
-
function_name=task_input.task.compute_fn,
|
108
|
-
image_uri=task_input.task.image_uri,
|
109
|
-
secret_names=task_input.task.secret_names or [],
|
110
|
-
)
|
111
|
-
await state.lock.acquire()
|
112
|
-
|
113
|
-
try:
|
114
|
-
await self._run_task_policy(state, task_input.task)
|
115
|
-
return state
|
116
|
-
except Exception:
|
117
|
-
state.lock.release()
|
118
|
-
raise
|
119
|
-
|
120
|
-
async def _run_task_policy(self, state: FunctionExecutorState, task: Task) -> None:
|
121
|
-
"""Runs the task policy until the task can run on the Function Executor.
|
122
|
-
|
123
|
-
On successful return the Function Executor status is either IDLE or DESTROYED.
|
124
|
-
"""
|
125
|
-
# Current policy for running tasks:
|
126
|
-
# - There can only be a single Function Executor per function regardless of function versions.
|
127
|
-
# -- If a Function Executor already exists for a different function version then wait until
|
128
|
-
# all the tasks finish in the existing Function Executor and then destroy it.
|
129
|
-
# -- This prevents failed tasks for different versions of the same function continiously
|
130
|
-
# destroying each other's Function Executors.
|
131
|
-
# - Each Function Executor rans at most 1 task concurrently.
|
132
|
-
await state.wait_status(
|
133
|
-
[
|
134
|
-
FunctionExecutorStatus.DESTROYED,
|
135
|
-
FunctionExecutorStatus.IDLE,
|
136
|
-
FunctionExecutorStatus.UNHEALTHY,
|
137
|
-
FunctionExecutorStatus.SHUTDOWN,
|
138
|
-
]
|
139
|
-
)
|
140
|
-
# We only shutdown the Function Executor on full Executor shutdown so it's fine to raise error here.
|
141
|
-
if state.status == FunctionExecutorStatus.SHUTDOWN:
|
142
|
-
raise Exception("Function Executor state is shutting down")
|
143
|
-
|
144
|
-
if state.status == FunctionExecutorStatus.UNHEALTHY:
|
145
|
-
await state.destroy_function_executor()
|
146
|
-
|
147
|
-
if state.graph_version == task.graph_version:
|
148
|
-
return # All good, we can run on this Function Executor.
|
149
|
-
|
150
|
-
if state.status in [FunctionExecutorStatus.IDLE]:
|
151
|
-
await state.destroy_function_executor()
|
152
|
-
|
153
|
-
state.graph_version = task.graph_version
|
154
|
-
# At this point the state belongs to the version of the function from the task
|
155
|
-
# and there are no running tasks in the Function Executor.
|
156
|
-
|
157
|
-
async def _run_task(
|
158
|
-
self, state: FunctionExecutorState, task_input: TaskInput, logger: Any
|
159
|
-
) -> TaskOutput:
|
160
|
-
logger.info("task execution started")
|
161
|
-
runner: SingleTaskRunner = SingleTaskRunner(
|
162
|
-
executor_id=self._executor_id,
|
163
|
-
function_executor_state=state,
|
164
|
-
task_input=task_input,
|
165
|
-
function_executor_server_factory=self._factory,
|
166
|
-
base_url=self._base_url,
|
167
|
-
config_path=self._config_path,
|
168
|
-
logger=logger,
|
169
|
-
)
|
170
|
-
return await runner.run()
|
171
|
-
|
172
|
-
async def shutdown(self) -> None:
|
173
|
-
pass
|
174
|
-
|
175
|
-
|
176
|
-
def _function_id_without_version(task: Task) -> str:
|
177
|
-
return f"not_versioned/{task.namespace}/{task.compute_graph}/{task.compute_fn}"
|
indexify-0.3.30.dist-info/RECORD
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
indexify/cli/cli.py,sha256=0t9rTlVI8jvgcQpjWZfPXeRwDfGVJRbXNHHGTNOOrKI,9201
|
2
|
-
indexify/executor/README.md,sha256=ozC6_hMkhQQNVCMEpBxwiUALz6lwErPQxNxQfQDqnG4,2029
|
3
|
-
indexify/executor/api_objects.py,sha256=kHx5gKPwM0Rm64Ea__kPFwuarStX0u_9uaE7vV5M5z8,2222
|
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=k9VbfOa-D6YH-cX8Sz-W-gWTsxmeVpSaIOq0xTC9KB0,15474
|
9
|
-
indexify/executor/executor.py,sha256=WQn0AH6CzO65aPbxjIReBbFxPC7qc5HqguMzlz0zBJI,16880
|
10
|
-
indexify/executor/executor_flavor.py,sha256=uilzDQVVYlQGR1MVnrUC4NevUActDWHdnJkr38M6kTk,118
|
11
|
-
indexify/executor/function_executor/function_executor.py,sha256=agfUxzSQ-2TqkpMhW3OvOSMF_EhpemetaL3_dYp29Ro,11888
|
12
|
-
indexify/executor/function_executor/function_executor_state.py,sha256=_bxUKNtuIMDVHVnDzMzMj-Qy4sR18MTwBtakdoAQ0y0,4209
|
13
|
-
indexify/executor/function_executor/function_executor_states_container.py,sha256=ht2xcFXWgCjYxCoeMffB0WHUPgSKJ3QIoswiomwP9WA,3899
|
14
|
-
indexify/executor/function_executor/function_executor_status.py,sha256=Ms8tHG0wlw__pToeQIfBV6SO9c4tPu3UQgJAwXUkg2M,3597
|
15
|
-
indexify/executor/function_executor/health_checker.py,sha256=IxE0jnC99K_lvnizFLjXqS1942H8-FNAN4AlhLIjg2Y,6373
|
16
|
-
indexify/executor/function_executor/invocation_state_client.py,sha256=VTpeNxxfsa0ej20Q_ker5RZVdHiu59HWd5qNOjo6DBQ,9800
|
17
|
-
indexify/executor/function_executor/metrics/function_executor.py,sha256=TDksxLRJr-P9ZKhF2Orsaxzzb4lVIBxFEjd_9Zv53Ng,6313
|
18
|
-
indexify/executor/function_executor/metrics/function_executor_state.py,sha256=qheMhnoiYLiZB7ky5EyegfDy4Mr0Zh83bOE0gJ38YmU,1607
|
19
|
-
indexify/executor/function_executor/metrics/function_executor_state_container.py,sha256=6rrAfml-TivjkHatCM4BLY7jmVs523Wzb6QIysncc-0,302
|
20
|
-
indexify/executor/function_executor/metrics/health_checker.py,sha256=EaeIYJPrQ-qqNMGZVGkvjPoeQSCl4FzPKXEv3Cly1NE,456
|
21
|
-
indexify/executor/function_executor/metrics/invocation_state_client.py,sha256=6FCW6rXHVZZSmwLquZdpjgQPSmE_99naDLke5rZiwMI,1867
|
22
|
-
indexify/executor/function_executor/metrics/single_task_runner.py,sha256=7BJlGkdPGKeufMs3zWNO_1GRVzjINRY5rW3Mp4oWWec,805
|
23
|
-
indexify/executor/function_executor/server/client_configuration.py,sha256=gOywMus0cotlX6NKIadEJwvOmBE-LbGE_wvoMi5-HzY,994
|
24
|
-
indexify/executor/function_executor/server/function_executor_server.py,sha256=_DLivLDikupZusRk8gVWDk7fWPT9XjZ4un1yWSlOObs,883
|
25
|
-
indexify/executor/function_executor/server/function_executor_server_factory.py,sha256=xWEuDoxFqF-oC4RoiEer4S0Tk2tNbbJfA2kANZVShpM,1873
|
26
|
-
indexify/executor/function_executor/server/subprocess_function_executor_server.py,sha256=JekDOqF7oFD4J6zcN3xB0Dxd1cgpEXMOsb_rKZOeBlI,668
|
27
|
-
indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py,sha256=hHYA-WSJMguvzGeSKWsMS95Xpub43Rg8NBpOuJDmcuM,3730
|
28
|
-
indexify/executor/function_executor/single_task_runner.py,sha256=6Fb9icnZ21pJcCq3mddFRoonPdNpUdSjTSQYh9nJXS0,14977
|
29
|
-
indexify/executor/function_executor/task_input.py,sha256=wSrHR4m0juiGClQyeVdhRC37QzDt6Rrjq-ZXJkfBi9k,584
|
30
|
-
indexify/executor/function_executor/task_output.py,sha256=LpdQZuL1s7FDNk-3TwA__4g5twyfmv45ezBf5Ckf6IE,3434
|
31
|
-
indexify/executor/grpc/channel_manager.py,sha256=ihDkLoiGBLfSmoA2szbntjCfL3E_NDf5LABRXE7YRec,6330
|
32
|
-
indexify/executor/grpc/function_executor_controller.py,sha256=GRAwhCIDZA-mFGGiyZyOlcezxZ4LXQPkuH_ooTrKEgc,17418
|
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
|
35
|
-
indexify/executor/grpc/metrics/state_reporter.py,sha256=GggBEjMzQUYIG95LtTS4fUg1u9jYowkaXoUXppAXucs,543
|
36
|
-
indexify/executor/grpc/metrics/task_controller.py,sha256=9Nm86nGxL2rZ3rAORB0_CBdO--Fe4MBrewVW4CqGyOU,222
|
37
|
-
indexify/executor/grpc/state_reconciler.py,sha256=vAT8LLPUQHDF42c5sa1-4T7FRBka3Bdv88Tv0L_jagk,19957
|
38
|
-
indexify/executor/grpc/state_reporter.py,sha256=sGt5dCjUQn58VC-aEar3tpyJTmdNKGquajIrgWiVr18,13020
|
39
|
-
indexify/executor/grpc/task_controller.py,sha256=53QJsKQSHIbath8qB8Wgf44l-Ybj40VJ5TLm1Ra1InE,20976
|
40
|
-
indexify/executor/host_resources/host_resources.py,sha256=bp4TK167Av700lVhWDMg_2bV_Vbt8dpPgYA-RJJ5H38,4078
|
41
|
-
indexify/executor/host_resources/nvidia_gpu.py,sha256=BIxBcWenyhZe0fuPQT9I0g6zAWMDPcm_oZEfgOoYsFU,3306
|
42
|
-
indexify/executor/host_resources/nvidia_gpu_allocator.py,sha256=oULSjL0AVo_nqR_pquq17079UalHQkhMwMqf72gbPHo,1872
|
43
|
-
indexify/executor/metrics/downloader.py,sha256=lctPh8xjkXeLEFJnl1hNrD1yEhLhIl5sggsR4Yoe_Zc,2746
|
44
|
-
indexify/executor/metrics/executor.py,sha256=ua-Vv_k1CB4juJdF7tEBQbBMksqWAA3iXKKMKXZUCLk,2369
|
45
|
-
indexify/executor/metrics/task_fetcher.py,sha256=iJEwCLzYr2cuz7hRvNiqaa2nvQP4OrA0hm0iJY0YKG0,736
|
46
|
-
indexify/executor/metrics/task_reporter.py,sha256=DKieoeNvyyP5R0V62OZns_dDjr_UkFcJ4eeuiy4kvkM,1837
|
47
|
-
indexify/executor/metrics/task_runner.py,sha256=ZGFrl7zzfUdgPZnklxRIbnv9wVcHIQRhOGNqn9V2hSk,2047
|
48
|
-
indexify/executor/monitoring/function_allowlist.py,sha256=wUGeiv3aAGWMlQXzHXq9O6MVHby6Tu-zY4U0MyWiQu0,683
|
49
|
-
indexify/executor/monitoring/handler.py,sha256=Cj1cu_LcsAP0tdviqNhoEtGm4h0OJAxxzW9C2YdNXYU,240
|
50
|
-
indexify/executor/monitoring/health_check_handler.py,sha256=e1pEtWFKaVs6H57Z4YLejNECrJtC38PweZc7xTJeqVw,695
|
51
|
-
indexify/executor/monitoring/health_checker/generic_health_checker.py,sha256=ot-nan5kDMFwXanJu0_OKV65fIoqhvATIoFW4LOO6V8,3373
|
52
|
-
indexify/executor/monitoring/health_checker/health_checker.py,sha256=c6UooJUIKaj2dYwU3507nnOglU51TC4FB9npCnLHjbY,838
|
53
|
-
indexify/executor/monitoring/metrics.py,sha256=Dx2wPcTKvbd5Y5rGOfeyscFtAQ2DZ16_s5BX6d4nhI8,6660
|
54
|
-
indexify/executor/monitoring/prometheus_metrics_handler.py,sha256=KiGqSf7rkXTfbDwThyXFpFe2jnuZD5q-5SBP_0GDo8Y,591
|
55
|
-
indexify/executor/monitoring/server.py,sha256=yzdYhcxnmY6uTQUMt3vatF5jilN52ZtfFseOmHyQpTo,1254
|
56
|
-
indexify/executor/monitoring/startup_probe_handler.py,sha256=zXXsBU15SMlBx1bSFpxWDfed1VHtKKnwvLQ8-frpG98,425
|
57
|
-
indexify/executor/runtime_probes.py,sha256=bo6Dq6AGZpJH099j0DHtVSDEH80tv3j9MXf3VXSx_p8,2182
|
58
|
-
indexify/executor/task_fetcher.py,sha256=p3iEsWyGi0ZMPAv0183smzOUD1KycQ_dXsyd9mpB9IU,3529
|
59
|
-
indexify/executor/task_reporter.py,sha256=gFERv8r7dEYazmx0E6nujXsglzpy9iS-5-fqn9BESI8,16622
|
60
|
-
indexify/executor/task_runner.py,sha256=UupZbGxU9BN4i1t6M8tH-5k3s4eUPEhMhar1YI0Aztk,7219
|
61
|
-
indexify/proto/executor_api.proto,sha256=_gvLB6JYXa-wR-Uh7ZWtHyb3AFO7S9__3Q8IGxrwhg4,10368
|
62
|
-
indexify/proto/executor_api_pb2.py,sha256=xXtHaDHVCffFuGpQ-1Bb4Wp29E4l7D-Sed0-wfCNyfo,15195
|
63
|
-
indexify/proto/executor_api_pb2.pyi,sha256=i8VQQ33QpqS8cB2uWf05MQ8ooYl6dKux40rkVrs50vo,19942
|
64
|
-
indexify/proto/executor_api_pb2_grpc.py,sha256=GGiDtyQlA2382E_ZyKUBYcWNEJHH_RlulieStKfkJXI,9514
|
65
|
-
indexify-0.3.30.dist-info/METADATA,sha256=giw6Azo_fyT0anbJkv00VojXn6-AEvXiwAnm1WIYYG8,1237
|
66
|
-
indexify-0.3.30.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
|
67
|
-
indexify-0.3.30.dist-info/entry_points.txt,sha256=GU9wmsgvN7nQw3N2X0PMYn1RSvF6CrhH9RuC2D8d3Gk,53
|
68
|
-
indexify-0.3.30.dist-info/RECORD,,
|
File without changes
|