sycommon-python-lib 0.1.51__py3-none-any.whl → 0.1.52a0__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.
@@ -27,7 +27,7 @@ class Middleware:
27
27
  # app = setup_monitor_memory_middleware(app)
28
28
 
29
29
  # 设置cors
30
- app = setup_cors_handler(app)
30
+ # app = setup_cors_handler(app)
31
31
 
32
32
  # 健康检查
33
33
  app = setup_health_handler(app)
@@ -307,22 +307,29 @@ class RabbitMQClient:
307
307
  return self._consumer_tag
308
308
 
309
309
  async def stop_consuming(self) -> None:
310
- """停止消息消费(修复:移除 _queue.is_closed 判断)"""
310
+ """停止消息消费(适配 RobustChannel)"""
311
311
  async with self._consume_lock:
312
312
  try:
313
- # 判断 consumer_tag 和 queue 是否存在,通道状态通过 _channel 校验
313
+ # 校验核心条件:消费标签、队列、通道均有效
314
314
  if self._consumer_tag and self._queue and self._channel and not self._channel.is_closed:
315
- # 用通道取消消费(队列无cancel方法)
316
- await self._channel.basic_cancel(self._consumer_tag)
315
+ # 使用队列的 cancel 方法(适配 RobustChannel)
316
+ await self._queue.cancel(self._consumer_tag)
317
317
  logger.info(
318
- f"停止消费成功,consumer_tag: {self._consumer_tag},队列: {self._queue.name}")
319
- elif self._consumer_tag and self._queue:
320
- # 通道已关闭,无需执行cancel(消费已自动停止)
321
- logger.warning(
322
- f"通道已关闭,无需取消消费(consumer_tag: {self._consumer_tag})")
318
+ f"停止消费成功,consumer_tag: {self._consumer_tag},队列: {self._queue.name}"
319
+ )
320
+ elif self._consumer_tag:
321
+ # 部分资源无效时的日志提示
322
+ if not self._queue:
323
+ logger.warning(
324
+ f"消费标签存在但队列为空,无法取消消费(consumer_tag: {self._consumer_tag})")
325
+ elif not self._channel or self._channel.is_closed:
326
+ logger.warning(
327
+ f"通道已关闭,消费已自动停止(consumer_tag: {self._consumer_tag},队列: {self._queue.name if self._queue else '未知'})"
328
+ )
323
329
  except Exception as e:
324
330
  logger.error(
325
- f"停止消费者 '{self._queue.name if self._queue else '未知队列'}' 时出错: {str(e)}", exc_info=True)
331
+ f"停止消费者 '{self._queue.name if self._queue else '未知队列'}' 时出错: {str(e)}", exc_info=True
332
+ )
326
333
  finally:
327
334
  self._consumer_tag = None # 无论成败,清理消费标签
328
335
 
sycommon/synacos/feign.py CHANGED
@@ -22,6 +22,8 @@ async def feign(service_name, api_path, method='GET', params=None, headers=None,
22
22
  try:
23
23
  # 初始化headers,确保是可修改的字典
24
24
  headers = headers.copy() if headers else {}
25
+ if "x-traceId-header" not in headers:
26
+ headers["x-traceId-header"] = SYLogger.get_trace_id()
25
27
 
26
28
  # 处理JSON请求的Content-Type
27
29
  is_json_request = method.upper() in ["POST", "PUT", "PATCH"] and not (
@@ -26,6 +26,7 @@ def feign_client(
26
26
  default_headers: Optional[Dict[str, str]] = None
27
27
  ):
28
28
  default_headers = default_headers or {}
29
+ default_headers["x-traceId-header"] = SYLogger.get_trace_id()
29
30
 
30
31
  def decorator(cls):
31
32
  class FeignClient:
@@ -152,6 +153,7 @@ def feign_client(
152
153
  def _build_headers(self, param_meta: Dict[str, Param], bound_args: Dict[str, Any], method_headers: Dict[str, str]) -> Dict[str, str]:
153
154
  headers = self.default_headers.copy()
154
155
  headers.update(method_headers)
156
+ headers["x-traceId-header"] = SYLogger.get_trace_id()
155
157
  for name, meta in param_meta.items():
156
158
  if isinstance(meta, Header) and name in bound_args:
157
159
  value = bound_args[name]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.1.51
3
+ Version: 0.1.52a0
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -23,7 +23,7 @@ sycommon/middleware/context.py,sha256=_5ghpv4u_yAvjkgM-XDx8OnO-YI1XtntHrXsHJHZkw
23
23
  sycommon/middleware/cors.py,sha256=0B5d_ovD56wcH9TfktRs88Q09R9f8Xx5h5ALWYvE8Iw,600
24
24
  sycommon/middleware/docs.py,sha256=bVdDBIHXGVBv562MQLSroa1DgHoObxR9gFzv71PIejg,1187
25
25
  sycommon/middleware/exception.py,sha256=Bk8IchNND1wg6tUX9hf4xWeEJhvA-E_zE9ysBpRZrqE,3010
26
- sycommon/middleware/middleware.py,sha256=SzZ4wufSNdwC4Ppw99TE7a6AVGkrZRc55NHSrA3PiC8,1447
26
+ sycommon/middleware/middleware.py,sha256=zRa8vn5BIjI_hIGTwHhDAIFbBUkCPTPfxKfAKDLQJ5Q,1449
27
27
  sycommon/middleware/monitor_memory.py,sha256=pYRK-wRuDd6enSg9Pf8tQxPdYQS6S0AyjyXeKFRLKEs,628
28
28
  sycommon/middleware/mq.py,sha256=4wBqiT5wJGcrfjk2GSr0_U3TStBxoNpHTzcRxVlMEHE,183
29
29
  sycommon/middleware/timeout.py,sha256=fImlAPLm4Oa8N9goXtT_0os1GZPCi9F92OgXU81DgDU,656
@@ -35,7 +35,7 @@ sycommon/models/mqlistener_config.py,sha256=vXp2uMmd0XQ5B9noSRXWHewTy-juQ2y7IsWt
35
35
  sycommon/models/mqmsg_model.py,sha256=cxn0M5b0utQK6crMYmL-1waeGYHvK3AlGaRy23clqTE,277
36
36
  sycommon/models/mqsend_config.py,sha256=NQX9dc8PpuquMG36GCVhJe8omAW1KVXXqr6lSRU6D7I,268
37
37
  sycommon/models/sso_user.py,sha256=i1WAN6k5sPcPApQEdtjpWDy7VrzWLpOrOQewGLGoGIw,2702
38
- sycommon/rabbitmq/rabbitmq_client.py,sha256=KUMNklTXK2cc66fNpThnZZpPLwfRH4-AwLQ2rsGEePk,19898
38
+ sycommon/rabbitmq/rabbitmq_client.py,sha256=GkuYILMZJnvgZs4ID46I-w_UGzzI28YUydKgkTIDhIs,20226
39
39
  sycommon/rabbitmq/rabbitmq_pool.py,sha256=QtUcK4HuepRqRmy5XkUQo8gDgj74fr77CX7T5rN0y4I,15640
40
40
  sycommon/rabbitmq/rabbitmq_service.py,sha256=wpEJynP0gzbnmMyB02sfR9nTWB4hfTTP00xQxDJu644,38119
41
41
  sycommon/sse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -44,16 +44,16 @@ sycommon/sse/sse.py,sha256=__CfWEcYxOxQ-HpLor4LTZ5hLWqw9-2X7CngqbVHsfw,10128
44
44
  sycommon/synacos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
45
  sycommon/synacos/example.py,sha256=61XL03tU8WTNOo3FUduf93F2fAwah1S0lbH1ufhRhRk,5739
46
46
  sycommon/synacos/example2.py,sha256=adUaru3Hy482KrOA17DfaC4nwvLj8etIDS_KrWLWmCU,4811
47
- sycommon/synacos/feign.py,sha256=-2tuGCqoSM3ddSoSz7h1RJTB06hn8K26v_1ev4qLsTU,7728
48
- sycommon/synacos/feign_client.py,sha256=JxzxohrsscQNlAjRVo_3ZQrMQSfVHFOtRYyEnP6sDGk,15205
47
+ sycommon/synacos/feign.py,sha256=xlC88_X0bM7C0FJlyRrZetzkC1OJSLBk3BEsGVbTcKk,7840
48
+ sycommon/synacos/feign_client.py,sha256=UxdYNW-oZVYIEwNBfIfVNPl_gppiYzPxp9ApDgQu0PY,15341
49
49
  sycommon/synacos/nacos_service.py,sha256=2m1ZxIii3r657kQJfp7C7I5bxBUEGDweYMfloUUmBSw,35389
50
50
  sycommon/synacos/param.py,sha256=KcfSkxnXOa0TGmCjY8hdzU9pzUsA8-4PeyBKWI2-568,1765
51
51
  sycommon/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
52
  sycommon/tools/docs.py,sha256=OPj2ETheuWjXLyaXtaZPbwmJKfJaYXV5s4XMVAUNrms,1607
53
53
  sycommon/tools/snowflake.py,sha256=DdEj3T5r5OEvikp3puxqmmmz6BrggxomoSlnsRFb5dM,1174
54
54
  sycommon/tools/timing.py,sha256=OiiE7P07lRoMzX9kzb8sZU9cDb0zNnqIlY5pWqHcnkY,2064
55
- sycommon_python_lib-0.1.51.dist-info/METADATA,sha256=p5snEjLtK9zjIs4a4BySEavEY8FZn7Jw_XI4AtvLy2o,7037
56
- sycommon_python_lib-0.1.51.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
57
- sycommon_python_lib-0.1.51.dist-info/entry_points.txt,sha256=q_h2nbvhhmdnsOUZEIwpuoDjaNfBF9XqppDEmQn9d_A,46
58
- sycommon_python_lib-0.1.51.dist-info/top_level.txt,sha256=98CJ-cyM2WIKxLz-Pf0AitWLhJyrfXvyY8slwjTXNuc,17
59
- sycommon_python_lib-0.1.51.dist-info/RECORD,,
55
+ sycommon_python_lib-0.1.52a0.dist-info/METADATA,sha256=YH2I7_srWCFERY9nRgwk1-H8DsL3vD-StIuRQiYEj4E,7039
56
+ sycommon_python_lib-0.1.52a0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
57
+ sycommon_python_lib-0.1.52a0.dist-info/entry_points.txt,sha256=q_h2nbvhhmdnsOUZEIwpuoDjaNfBF9XqppDEmQn9d_A,46
58
+ sycommon_python_lib-0.1.52a0.dist-info/top_level.txt,sha256=98CJ-cyM2WIKxLz-Pf0AitWLhJyrfXvyY8slwjTXNuc,17
59
+ sycommon_python_lib-0.1.52a0.dist-info/RECORD,,