indexify 0.3.13__py3-none-any.whl → 0.3.15__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/cli.py +11 -7
- indexify/executor/downloader.py +99 -50
- indexify/executor/executor.py +150 -29
- indexify/executor/function_executor/function_executor_state.py +23 -4
- indexify/executor/function_executor/function_executor_states_container.py +28 -16
- indexify/executor/function_executor/health_checker.py +26 -11
- indexify/executor/function_executor/server/function_executor_server_factory.py +4 -1
- indexify/executor/function_executor/single_task_runner.py +28 -8
- indexify/executor/function_executor/task_output.py +27 -4
- indexify/executor/state_reconciler.py +288 -0
- indexify/executor/state_reporter.py +127 -0
- indexify/executor/task_reporter.py +6 -6
- indexify/executor/task_runner.py +20 -12
- indexify/task_scheduler/proto/task_scheduler.proto +147 -0
- indexify/task_scheduler/proto/task_scheduler_pb2.py +69 -0
- indexify/task_scheduler/proto/task_scheduler_pb2.pyi +286 -0
- indexify/task_scheduler/proto/task_scheduler_pb2_grpc.py +170 -0
- {indexify-0.3.13.dist-info → indexify-0.3.15.dist-info}/METADATA +1 -1
- {indexify-0.3.13.dist-info → indexify-0.3.15.dist-info}/RECORD +21 -15
- {indexify-0.3.13.dist-info → indexify-0.3.15.dist-info}/WHEEL +0 -0
- {indexify-0.3.13.dist-info → indexify-0.3.15.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,170 @@
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
3
|
+
import warnings
|
4
|
+
|
5
|
+
import grpc
|
6
|
+
|
7
|
+
from indexify.task_scheduler.proto import (
|
8
|
+
task_scheduler_pb2 as indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2,
|
9
|
+
)
|
10
|
+
|
11
|
+
GRPC_GENERATED_VERSION = "1.70.0"
|
12
|
+
GRPC_VERSION = grpc.__version__
|
13
|
+
_version_not_supported = False
|
14
|
+
|
15
|
+
try:
|
16
|
+
from grpc._utilities import first_version_is_lower
|
17
|
+
|
18
|
+
_version_not_supported = first_version_is_lower(
|
19
|
+
GRPC_VERSION, GRPC_GENERATED_VERSION
|
20
|
+
)
|
21
|
+
except ImportError:
|
22
|
+
_version_not_supported = True
|
23
|
+
|
24
|
+
if _version_not_supported:
|
25
|
+
raise RuntimeError(
|
26
|
+
f"The grpc package installed is at version {GRPC_VERSION},"
|
27
|
+
+ f" but the generated code in indexify/task_scheduler/proto/task_scheduler_pb2_grpc.py depends on"
|
28
|
+
+ f" grpcio>={GRPC_GENERATED_VERSION}."
|
29
|
+
+ f" Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}"
|
30
|
+
+ f" or downgrade your generated code using grpcio-tools<={GRPC_VERSION}."
|
31
|
+
)
|
32
|
+
|
33
|
+
|
34
|
+
class TaskSchedulerServiceStub(object):
|
35
|
+
"""Internal API for scheduling and running tasks on Executors. Executors are acting as clients of this API.
|
36
|
+
Server is responsible for scheduling tasks on Executors and Executors are responsible for running the tasks.
|
37
|
+
"""
|
38
|
+
|
39
|
+
def __init__(self, channel):
|
40
|
+
"""Constructor.
|
41
|
+
|
42
|
+
Args:
|
43
|
+
channel: A grpc.Channel.
|
44
|
+
"""
|
45
|
+
self.report_executor_state = channel.unary_unary(
|
46
|
+
"/task_scheduler_service.TaskSchedulerService/report_executor_state",
|
47
|
+
request_serializer=indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.ReportExecutorStateRequest.SerializeToString,
|
48
|
+
response_deserializer=indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.ReportExecutorStateResponse.FromString,
|
49
|
+
_registered_method=True,
|
50
|
+
)
|
51
|
+
self.get_desired_executor_states = channel.unary_stream(
|
52
|
+
"/task_scheduler_service.TaskSchedulerService/get_desired_executor_states",
|
53
|
+
request_serializer=indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.GetDesiredExecutorStatesRequest.SerializeToString,
|
54
|
+
response_deserializer=indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.DesiredExecutorState.FromString,
|
55
|
+
_registered_method=True,
|
56
|
+
)
|
57
|
+
|
58
|
+
|
59
|
+
class TaskSchedulerServiceServicer(object):
|
60
|
+
"""Internal API for scheduling and running tasks on Executors. Executors are acting as clients of this API.
|
61
|
+
Server is responsible for scheduling tasks on Executors and Executors are responsible for running the tasks.
|
62
|
+
"""
|
63
|
+
|
64
|
+
def report_executor_state(self, request, context):
|
65
|
+
"""Called by Executor every 5 seconds to report that it's still alive and provide its current state.
|
66
|
+
|
67
|
+
Missing 3 reports will result in the Executor being deregistered by Server.
|
68
|
+
"""
|
69
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
70
|
+
context.set_details("Method not implemented!")
|
71
|
+
raise NotImplementedError("Method not implemented!")
|
72
|
+
|
73
|
+
def get_desired_executor_states(self, request, context):
|
74
|
+
"""Called by Executor to open a stream of its desired states. When Server wants Executor to change something
|
75
|
+
it puts a message on the stream with the new desired state of the Executor.
|
76
|
+
|
77
|
+
Depricated HTTP API is used to download the serialized graph and task inputs.
|
78
|
+
"""
|
79
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
80
|
+
context.set_details("Method not implemented!")
|
81
|
+
raise NotImplementedError("Method not implemented!")
|
82
|
+
|
83
|
+
|
84
|
+
def add_TaskSchedulerServiceServicer_to_server(servicer, server):
|
85
|
+
rpc_method_handlers = {
|
86
|
+
"report_executor_state": grpc.unary_unary_rpc_method_handler(
|
87
|
+
servicer.report_executor_state,
|
88
|
+
request_deserializer=indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.ReportExecutorStateRequest.FromString,
|
89
|
+
response_serializer=indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.ReportExecutorStateResponse.SerializeToString,
|
90
|
+
),
|
91
|
+
"get_desired_executor_states": grpc.unary_stream_rpc_method_handler(
|
92
|
+
servicer.get_desired_executor_states,
|
93
|
+
request_deserializer=indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.GetDesiredExecutorStatesRequest.FromString,
|
94
|
+
response_serializer=indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.DesiredExecutorState.SerializeToString,
|
95
|
+
),
|
96
|
+
}
|
97
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
98
|
+
"task_scheduler_service.TaskSchedulerService", rpc_method_handlers
|
99
|
+
)
|
100
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
101
|
+
server.add_registered_method_handlers(
|
102
|
+
"task_scheduler_service.TaskSchedulerService", rpc_method_handlers
|
103
|
+
)
|
104
|
+
|
105
|
+
|
106
|
+
# This class is part of an EXPERIMENTAL API.
|
107
|
+
class TaskSchedulerService(object):
|
108
|
+
"""Internal API for scheduling and running tasks on Executors. Executors are acting as clients of this API.
|
109
|
+
Server is responsible for scheduling tasks on Executors and Executors are responsible for running the tasks.
|
110
|
+
"""
|
111
|
+
|
112
|
+
@staticmethod
|
113
|
+
def report_executor_state(
|
114
|
+
request,
|
115
|
+
target,
|
116
|
+
options=(),
|
117
|
+
channel_credentials=None,
|
118
|
+
call_credentials=None,
|
119
|
+
insecure=False,
|
120
|
+
compression=None,
|
121
|
+
wait_for_ready=None,
|
122
|
+
timeout=None,
|
123
|
+
metadata=None,
|
124
|
+
):
|
125
|
+
return grpc.experimental.unary_unary(
|
126
|
+
request,
|
127
|
+
target,
|
128
|
+
"/task_scheduler_service.TaskSchedulerService/report_executor_state",
|
129
|
+
indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.ReportExecutorStateRequest.SerializeToString,
|
130
|
+
indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.ReportExecutorStateResponse.FromString,
|
131
|
+
options,
|
132
|
+
channel_credentials,
|
133
|
+
insecure,
|
134
|
+
call_credentials,
|
135
|
+
compression,
|
136
|
+
wait_for_ready,
|
137
|
+
timeout,
|
138
|
+
metadata,
|
139
|
+
_registered_method=True,
|
140
|
+
)
|
141
|
+
|
142
|
+
@staticmethod
|
143
|
+
def get_desired_executor_states(
|
144
|
+
request,
|
145
|
+
target,
|
146
|
+
options=(),
|
147
|
+
channel_credentials=None,
|
148
|
+
call_credentials=None,
|
149
|
+
insecure=False,
|
150
|
+
compression=None,
|
151
|
+
wait_for_ready=None,
|
152
|
+
timeout=None,
|
153
|
+
metadata=None,
|
154
|
+
):
|
155
|
+
return grpc.experimental.unary_stream(
|
156
|
+
request,
|
157
|
+
target,
|
158
|
+
"/task_scheduler_service.TaskSchedulerService/get_desired_executor_states",
|
159
|
+
indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.GetDesiredExecutorStatesRequest.SerializeToString,
|
160
|
+
indexify_dot_task__scheduler_dot_proto_dot_task__scheduler__pb2.DesiredExecutorState.FromString,
|
161
|
+
options,
|
162
|
+
channel_credentials,
|
163
|
+
insecure,
|
164
|
+
call_credentials,
|
165
|
+
compression,
|
166
|
+
wait_for_ready,
|
167
|
+
timeout,
|
168
|
+
metadata,
|
169
|
+
_registered_method=True,
|
170
|
+
)
|
@@ -1,12 +1,12 @@
|
|
1
|
-
indexify/cli/cli.py,sha256=
|
1
|
+
indexify/cli/cli.py,sha256=Y0PwJKhc3MWOV4Sw9c01WjS0M43QSMcOP6IVMKUnjME,11027
|
2
2
|
indexify/executor/README.md,sha256=ozC6_hMkhQQNVCMEpBxwiUALz6lwErPQxNxQfQDqnG4,2029
|
3
3
|
indexify/executor/api_objects.py,sha256=TaYwDoo7EjuLBusxH512-KdvAJRtBwbEP2IObWraabU,1100
|
4
|
-
indexify/executor/downloader.py,sha256=
|
5
|
-
indexify/executor/executor.py,sha256=
|
4
|
+
indexify/executor/downloader.py,sha256=LkvAXfKxddnDzgfmwHcpDB_n795-eVKzn-hLjq4nUEM,9412
|
5
|
+
indexify/executor/executor.py,sha256=pndLcM9Si_-HzctUi6XrIs9RLd0lj9JiHiaeUZ81ncI,15213
|
6
6
|
indexify/executor/function_executor/function_executor.py,sha256=sQ5FOdrjybDDsjagghlfjV06IXTpWWDBSTHqQXI-w9M,11245
|
7
|
-
indexify/executor/function_executor/function_executor_state.py,sha256=
|
8
|
-
indexify/executor/function_executor/function_executor_states_container.py,sha256=
|
9
|
-
indexify/executor/function_executor/health_checker.py,sha256=
|
7
|
+
indexify/executor/function_executor/function_executor_state.py,sha256=_mqWPHI442ak2hwo21BbDclXIUhjg_M7tfg7lyOoxg8,3666
|
8
|
+
indexify/executor/function_executor/function_executor_states_container.py,sha256=Z4tMQfOoGqaWotQXTIBvsujXkXAAw2UGsIxUnlUm8Wo,3067
|
9
|
+
indexify/executor/function_executor/health_checker.py,sha256=qUUpG4oeVsPLibiCspAiRm-2Ldg46ulnnpj9EBXr1NQ,3916
|
10
10
|
indexify/executor/function_executor/invocation_state_client.py,sha256=p-xgM4__cHR1ApvMV9hShrGWee_Je0VDhICZUGjpQY4,9644
|
11
11
|
indexify/executor/function_executor/metrics/function_executor.py,sha256=KHzf4cMh_HqnOAE7TZ6_oIqUH3nExOkt9LSekAEN69w,6304
|
12
12
|
indexify/executor/function_executor/metrics/function_executor_state.py,sha256=M7cMA7JY8_8FW9xjuSqtp6o2xxUgB31LJowo7kzcexg,352
|
@@ -16,12 +16,12 @@ indexify/executor/function_executor/metrics/invocation_state_client.py,sha256=6F
|
|
16
16
|
indexify/executor/function_executor/metrics/single_task_runner.py,sha256=7BJlGkdPGKeufMs3zWNO_1GRVzjINRY5rW3Mp4oWWec,805
|
17
17
|
indexify/executor/function_executor/server/client_configuration.py,sha256=gOywMus0cotlX6NKIadEJwvOmBE-LbGE_wvoMi5-HzY,994
|
18
18
|
indexify/executor/function_executor/server/function_executor_server.py,sha256=_DLivLDikupZusRk8gVWDk7fWPT9XjZ4un1yWSlOObs,883
|
19
|
-
indexify/executor/function_executor/server/function_executor_server_factory.py,sha256=
|
19
|
+
indexify/executor/function_executor/server/function_executor_server_factory.py,sha256=Xw-t6ZK-nAQUaRHf-peOnHP_CvLVH22oBYecEZ34GRw,1842
|
20
20
|
indexify/executor/function_executor/server/subprocess_function_executor_server.py,sha256=JekDOqF7oFD4J6zcN3xB0Dxd1cgpEXMOsb_rKZOeBlI,668
|
21
21
|
indexify/executor/function_executor/server/subprocess_function_executor_server_factory.py,sha256=xbH0-73tBM-i0dh1x_k0fDrNAi8WgDKjqiQ9xveU4Zg,4214
|
22
|
-
indexify/executor/function_executor/single_task_runner.py,sha256=
|
22
|
+
indexify/executor/function_executor/single_task_runner.py,sha256=l02KDO4s7KMZxm2AazKC9SWqKBdy_mmrXTfZEyhNXAU,10205
|
23
23
|
indexify/executor/function_executor/task_input.py,sha256=wSrHR4m0juiGClQyeVdhRC37QzDt6Rrjq-ZXJkfBi9k,584
|
24
|
-
indexify/executor/function_executor/task_output.py,sha256=
|
24
|
+
indexify/executor/function_executor/task_output.py,sha256=SQJSlrknB7Ylf5IOeINfBEgiplS5hAPJh1hYulhyvfU,1962
|
25
25
|
indexify/executor/metrics/downloader.py,sha256=lctPh8xjkXeLEFJnl1hNrD1yEhLhIl5sggsR4Yoe_Zc,2746
|
26
26
|
indexify/executor/metrics/executor.py,sha256=ua-Vv_k1CB4juJdF7tEBQbBMksqWAA3iXKKMKXZUCLk,2369
|
27
27
|
indexify/executor/metrics/task_fetcher.py,sha256=iJEwCLzYr2cuz7hRvNiqaa2nvQP4OrA0hm0iJY0YKG0,736
|
@@ -37,10 +37,16 @@ indexify/executor/monitoring/prometheus_metrics_handler.py,sha256=KiGqSf7rkXTfbD
|
|
37
37
|
indexify/executor/monitoring/server.py,sha256=yzdYhcxnmY6uTQUMt3vatF5jilN52ZtfFseOmHyQpTo,1254
|
38
38
|
indexify/executor/monitoring/startup_probe_handler.py,sha256=zXXsBU15SMlBx1bSFpxWDfed1VHtKKnwvLQ8-frpG98,425
|
39
39
|
indexify/executor/runtime_probes.py,sha256=bo6Dq6AGZpJH099j0DHtVSDEH80tv3j9MXf3VXSx_p8,2182
|
40
|
+
indexify/executor/state_reconciler.py,sha256=hIO3BDjXJKicvS7Sgdd5eht9nTsZtleZi7beBPI8d8E,11764
|
41
|
+
indexify/executor/state_reporter.py,sha256=83ImGX4b78bEDBJzTDsiEhSd8780a0uob5v6RgA2kzA,4514
|
40
42
|
indexify/executor/task_fetcher.py,sha256=NpFfHgaY99bSL-K2D5kcDAMNUG2FArq0-qF_mgF-LBQ,3375
|
41
|
-
indexify/executor/task_reporter.py,sha256=
|
42
|
-
indexify/executor/task_runner.py,sha256=
|
43
|
-
indexify
|
44
|
-
indexify
|
45
|
-
indexify
|
46
|
-
indexify
|
43
|
+
indexify/executor/task_reporter.py,sha256=mYgwozUO95PEwYMmeeIS0-HfMrO4z3Nhy6IduMsMahM,7367
|
44
|
+
indexify/executor/task_runner.py,sha256=ggV1IcOI2x4IWzzsulmClJP4mcgAA4z64W0Beo2GM2U,5938
|
45
|
+
indexify/task_scheduler/proto/task_scheduler.proto,sha256=6zpGLqhITlbXtwYQwqZms7Ok5FYhjF6tWA1h-QbktSQ,5410
|
46
|
+
indexify/task_scheduler/proto/task_scheduler_pb2.py,sha256=NeDSktCe7cs6E-_W_cL25qbIgp9uBJccv0bgts2Oufo,8767
|
47
|
+
indexify/task_scheduler/proto/task_scheduler_pb2.pyi,sha256=MX4oyoqNQfhikOBSE7bnMLvFbvmdUqL3aBlEsC5Uo24,10620
|
48
|
+
indexify/task_scheduler/proto/task_scheduler_pb2_grpc.py,sha256=a-KpbGWSGZIZ9F35OgwEjp25C4jySf5PW8BOf8UFR2A,7144
|
49
|
+
indexify-0.3.15.dist-info/METADATA,sha256=MWkPCWVMkZ3M1_ZHXnCk0NAUh9PCgYlnEaNNCh1c7XY,1158
|
50
|
+
indexify-0.3.15.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
|
51
|
+
indexify-0.3.15.dist-info/entry_points.txt,sha256=GU9wmsgvN7nQw3N2X0PMYn1RSvF6CrhH9RuC2D8d3Gk,53
|
52
|
+
indexify-0.3.15.dist-info/RECORD,,
|
File without changes
|
File without changes
|