indexify 0.4.16__py3-none-any.whl → 0.4.17__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.
@@ -140,6 +140,9 @@ class ChannelManager:
140
140
  duration_sec=time.monotonic() - create_channel_start,
141
141
  )
142
142
 
143
+ self._logger.info(
144
+ "waiting for grpc server channel to get established (ready)"
145
+ )
143
146
  channel_ready_start = time.monotonic()
144
147
  await asyncio.wait_for(
145
148
  channel.channel_ready(),
@@ -151,10 +154,12 @@ class ChannelManager:
151
154
  )
152
155
 
153
156
  return channel
154
- except BaseException:
157
+ except BaseException as e:
155
158
  self._logger.error(
156
- f"failed establishing grpc server channel in {_CONNECT_TIMEOUT_SEC} sec, retrying in {_RETRY_INTERVAL_SEC} sec"
159
+ f"failed establishing grpc server channel in {_CONNECT_TIMEOUT_SEC} sec, retrying in {_RETRY_INTERVAL_SEC} sec",
160
+ exc_info=e,
157
161
  )
162
+
158
163
  try:
159
164
  await channel.close()
160
165
  except BaseException as e:
@@ -1,6 +1,7 @@
1
1
  from typing import Optional
2
2
 
3
3
  from .health_checker import HealthChecker, HealthCheckResult
4
+ from .metrics.health_checker import metric_healthy
4
5
 
5
6
  _HEALTH_CHECKER_NAME = "GenericHealthChecker"
6
7
 
@@ -13,13 +14,16 @@ class GenericHealthChecker(HealthChecker):
13
14
 
14
15
  def __init__(self):
15
16
  self._server_connection_unhealthy_status_message: Optional[str] = None
17
+ metric_healthy.set(1)
16
18
 
17
19
  def server_connection_state_changed(self, is_healthy: bool, status_message: str):
18
20
  """Handle changes in server connection state."""
19
21
  if is_healthy:
20
22
  self._server_connection_unhealthy_status_message = None
23
+ metric_healthy.set(1)
21
24
  else:
22
25
  self._server_connection_unhealthy_status_message = status_message
26
+ metric_healthy.set(0)
23
27
 
24
28
  async def check(self) -> HealthCheckResult:
25
29
  if self._server_connection_unhealthy_status_message is not None:
@@ -0,0 +1,5 @@
1
+ import prometheus_client
2
+
3
+ metric_healthy = prometheus_client.Gauge(
4
+ "healthy", "1 if the executor is healthy, 0 otherwise"
5
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: indexify
3
- Version: 0.4.16
3
+ Version: 0.4.17
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,7 +14,7 @@ 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.14,<4.0.0)
17
- Requires-Dist: boto3 (>=1.39.6,<2.0.0)
17
+ Requires-Dist: boto3 (>=1.39.7,<2.0.0)
18
18
  Requires-Dist: prometheus-client (>=0.22.1,<0.23.0)
19
19
  Requires-Dist: psutil (>=7.0.0,<8.0.0)
20
20
  Requires-Dist: tensorlake (==0.2.25)
@@ -7,7 +7,7 @@ indexify/executor/blob_store/blob_store.py,sha256=XViw_KRfFSNqwcFYwMZixZF-EYCjXK
7
7
  indexify/executor/blob_store/local_fs_blob_store.py,sha256=6LexqMBGXp8f6Ka95R6xMIUyDutrZJABOMNcp-ssa98,1809
8
8
  indexify/executor/blob_store/metrics/blob_store.py,sha256=5_xiPREeHWFtxFh1NupDsF8zP4pmUPgLNNn-UE9Uzvc,1008
9
9
  indexify/executor/blob_store/s3_blob_store.py,sha256=G3B_V3gUE7XbUY42lDtBczUKuA7q8S7MD43tx1aHrJo,3445
10
- indexify/executor/channel_manager.py,sha256=rulAmCvgEupKZ0esuO4COfosuhm1iVZ27IIqeqFu0Vg,7750
10
+ indexify/executor/channel_manager.py,sha256=SaikgwhXZkuxSi75BnaOuemuCwCufPs-rWo6v4YvyW0,7939
11
11
  indexify/executor/executor.py,sha256=iMmysK_6jZkczcVqjzbQdXzrALEig_Qtb51MhQUfRqc,6353
12
12
  indexify/executor/function_allowlist.py,sha256=PCelCW6qIe_2sH11BCKr7LDqarRV5kwNsrfB2EV7Zwo,1772
13
13
  indexify/executor/function_executor/function_executor.py,sha256=Hz_dT_2i1m9akUGfULWQpDlMsn0CI1AX4Mdt7-oOknI,13598
@@ -51,8 +51,9 @@ indexify/executor/metrics/state_reconciler.py,sha256=BSlRgvgtwih6QcYrsFU5P2ylaXA
51
51
  indexify/executor/metrics/state_reporter.py,sha256=_dssgz335UyZ67OoKNyI50gn4kzPZyFN4VpFGMNw4qE,542
52
52
  indexify/executor/monitoring/handler.py,sha256=Cj1cu_LcsAP0tdviqNhoEtGm4h0OJAxxzW9C2YdNXYU,240
53
53
  indexify/executor/monitoring/health_check_handler.py,sha256=e1pEtWFKaVs6H57Z4YLejNECrJtC38PweZc7xTJeqVw,695
54
- indexify/executor/monitoring/health_checker/generic_health_checker.py,sha256=8vvny1DOOaZMxPwcpeTuuVh7l42YCaOd6IkIxzNUURg,1344
54
+ indexify/executor/monitoring/health_checker/generic_health_checker.py,sha256=vJRV879GrdZFqwTnM9pRLA97LRMutGz2sWRy-KS-tfg,1493
55
55
  indexify/executor/monitoring/health_checker/health_checker.py,sha256=B-Q4KM1iEUSMA2fr9PBhBLdA7sYII_NuTRmPuRILGSo,665
56
+ indexify/executor/monitoring/health_checker/metrics/health_checker.py,sha256=50JS4JaOdAgSk7iYaBV4J3tGXkRTzmIVR_jVOV66YOc,129
56
57
  indexify/executor/monitoring/metrics.py,sha256=Dx2wPcTKvbd5Y5rGOfeyscFtAQ2DZ16_s5BX6d4nhI8,6660
57
58
  indexify/executor/monitoring/prometheus_metrics_handler.py,sha256=KiGqSf7rkXTfbDwThyXFpFe2jnuZD5q-5SBP_0GDo8Y,591
58
59
  indexify/executor/monitoring/server.py,sha256=yzdYhcxnmY6uTQUMt3vatF5jilN52ZtfFseOmHyQpTo,1254
@@ -63,7 +64,7 @@ indexify/proto/executor_api.proto,sha256=vP14TJCGO2BSwZ6piqaltiLp5YNPT5jCH2yaehy
63
64
  indexify/proto/executor_api_pb2.py,sha256=zdl00UOqgOB1KeRIAceh_43RpAOVLEs9RSbzxQ0hmKY,16163
64
65
  indexify/proto/executor_api_pb2.pyi,sha256=adD5mqqJhmTgRCa_4v1cR6GcOY-VOLOBV9k8T5iaqPc,22647
65
66
  indexify/proto/executor_api_pb2_grpc.py,sha256=gPtP9GscW2D9yUMXl4uEIO3cwe1B3bKprJjFfNrWou4,7607
66
- indexify-0.4.16.dist-info/METADATA,sha256=k9tCSJJYV9imbC2kJKhKYQz9_preBM7vd2gipq4Fhlw,1116
67
- indexify-0.4.16.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
68
- indexify-0.4.16.dist-info/entry_points.txt,sha256=rMJqbE5KPZIXTPIfAtVIM4zpUElqYVgEYd6i7N23zzg,49
69
- indexify-0.4.16.dist-info/RECORD,,
67
+ indexify-0.4.17.dist-info/METADATA,sha256=Wgj7X7GbcegBLgfLHkQNyZaM0OLqh7Bnj5YLMTnipu0,1116
68
+ indexify-0.4.17.dist-info/WHEEL,sha256=RaoafKOydTQ7I_I3JTrPCg6kUmTgtm4BornzOqyEfJ8,88
69
+ indexify-0.4.17.dist-info/entry_points.txt,sha256=rMJqbE5KPZIXTPIfAtVIM4zpUElqYVgEYd6i7N23zzg,49
70
+ indexify-0.4.17.dist-info/RECORD,,