zenx 0.8.1__tar.gz → 0.8.2__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 (31) hide show
  1. {zenx-0.8.1 → zenx-0.8.2}/PKG-INFO +1 -1
  2. {zenx-0.8.1 → zenx-0.8.2}/pyproject.toml +1 -1
  3. {zenx-0.8.1 → zenx-0.8.2}/zenx/pipelines/google_rpc.py +0 -2
  4. {zenx-0.8.1 → zenx-0.8.2}/zenx/pipelines/websocket.py +18 -6
  5. {zenx-0.8.1 → zenx-0.8.2}/zenx.egg-info/PKG-INFO +1 -1
  6. {zenx-0.8.1 → zenx-0.8.2}/setup.cfg +0 -0
  7. {zenx-0.8.1 → zenx-0.8.2}/zenx/cli.py +0 -0
  8. {zenx-0.8.1 → zenx-0.8.2}/zenx/clients/__init__.py +0 -0
  9. {zenx-0.8.1 → zenx-0.8.2}/zenx/clients/database.py +0 -0
  10. {zenx-0.8.1 → zenx-0.8.2}/zenx/clients/http.py +0 -0
  11. {zenx-0.8.1 → zenx-0.8.2}/zenx/debug_runner.py +0 -0
  12. {zenx-0.8.1 → zenx-0.8.2}/zenx/discovery.py +0 -0
  13. {zenx-0.8.1 → zenx-0.8.2}/zenx/engine.py +0 -0
  14. {zenx-0.8.1 → zenx-0.8.2}/zenx/exceptions.py +0 -0
  15. {zenx-0.8.1 → zenx-0.8.2}/zenx/logger.py +0 -0
  16. {zenx-0.8.1 → zenx-0.8.2}/zenx/pipelines/__init__.py +0 -0
  17. {zenx-0.8.1 → zenx-0.8.2}/zenx/pipelines/base.py +0 -0
  18. {zenx-0.8.1 → zenx-0.8.2}/zenx/pipelines/manager.py +0 -0
  19. {zenx-0.8.1 → zenx-0.8.2}/zenx/pipelines/preprocess.py +0 -0
  20. {zenx-0.8.1 → zenx-0.8.2}/zenx/resources/proto/__init__.py +0 -0
  21. {zenx-0.8.1 → zenx-0.8.2}/zenx/resources/proto/feed_pb2.py +0 -0
  22. {zenx-0.8.1 → zenx-0.8.2}/zenx/resources/proto/feed_pb2_grpc.py +0 -0
  23. {zenx-0.8.1 → zenx-0.8.2}/zenx/settings.py +0 -0
  24. {zenx-0.8.1 → zenx-0.8.2}/zenx/spiders/__init__.py +0 -0
  25. {zenx-0.8.1 → zenx-0.8.2}/zenx/spiders/base.py +0 -0
  26. {zenx-0.8.1 → zenx-0.8.2}/zenx/utils.py +0 -0
  27. {zenx-0.8.1 → zenx-0.8.2}/zenx.egg-info/SOURCES.txt +0 -0
  28. {zenx-0.8.1 → zenx-0.8.2}/zenx.egg-info/dependency_links.txt +0 -0
  29. {zenx-0.8.1 → zenx-0.8.2}/zenx.egg-info/entry_points.txt +0 -0
  30. {zenx-0.8.1 → zenx-0.8.2}/zenx.egg-info/requires.txt +0 -0
  31. {zenx-0.8.1 → zenx-0.8.2}/zenx.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zenx
3
- Version: 0.8.1
3
+ Version: 0.8.2
4
4
  Summary: mini-framework
5
5
  Requires-Python: >=3.12
6
6
  Requires-Dist: curl-cffi>=0.12.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "zenx"
3
- version = "0.8.1"
3
+ version = "0.8.2"
4
4
  description = "mini-framework"
5
5
  requires-python = ">=3.12"
6
6
  dependencies = [
@@ -83,8 +83,6 @@ try:
83
83
  await self._stub.SubmitFeedMessage(feed_message)
84
84
  except grpc.RpcError as e:
85
85
  self.logger.error("processing", exception=str(e), id=item['_id'], feed=self._feed_id, pipeline=self.name)
86
- else:
87
- self.logger.info("processed", id=item['_id'], feed=self._feed_id, pipeline=self.name)
88
86
 
89
87
 
90
88
  async def close(self) -> None:
@@ -24,6 +24,7 @@ try:
24
24
  self._connected = asyncio.Event()
25
25
  self._ws_client: Optional[websockets.ClientConnection] = None
26
26
  self._monitor_state_task: Optional[asyncio.Task] = None
27
+ self._listening_task: Optional[asyncio.Task] = None
27
28
 
28
29
 
29
30
  async def start(self) -> None:
@@ -37,6 +38,7 @@ try:
37
38
  raise
38
39
  else:
39
40
  self._monitor_state_task = asyncio.create_task(self._monitor_state())
41
+ self._listening_task = asyncio.create_task(self._listen())
40
42
 
41
43
 
42
44
  async def _monitor_state(self) -> None:
@@ -48,6 +50,15 @@ try:
48
50
  await asyncio.sleep(0.5)
49
51
 
50
52
 
53
+ async def _listen(self) -> None:
54
+ try:
55
+ await self._connected.wait()
56
+ async for msg in self._ws_client:
57
+ self.logger.debug("received", msg=msg.decode(), pipeline=self.name)
58
+ except Exception:
59
+ await asyncio.sleep(1)
60
+
61
+
51
62
  async def _connect(self) -> None:
52
63
  self._connected.clear()
53
64
  self.logger.debug("connecting", pipeline=self.name)
@@ -84,12 +95,13 @@ try:
84
95
 
85
96
 
86
97
  async def close(self) -> None:
87
- if self._monitor_state_task and not self._monitor_state_task.done():
88
- self._monitor_state_task.cancel()
89
- try:
90
- await self._monitor_state_task
91
- except asyncio.CancelledError:
92
- pass
98
+ for t in [self._monitor_state_task, self._listening_task]:
99
+ if t and not t.done():
100
+ t.cancel()
101
+ try:
102
+ await t
103
+ except asyncio.CancelledError:
104
+ pass
93
105
  await self._ws_client.close()
94
106
  self.logger.debug("closed", pipeline=self.name)
95
107
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zenx
3
- Version: 0.8.1
3
+ Version: 0.8.2
4
4
  Summary: mini-framework
5
5
  Requires-Python: >=3.12
6
6
  Requires-Dist: curl-cffi>=0.12.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes