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.
- sycommon/middleware/middleware.py +1 -1
- sycommon/rabbitmq/rabbitmq_client.py +17 -10
- sycommon/synacos/feign.py +2 -0
- sycommon/synacos/feign_client.py +2 -0
- {sycommon_python_lib-0.1.51.dist-info → sycommon_python_lib-0.1.52a0.dist-info}/METADATA +1 -1
- {sycommon_python_lib-0.1.51.dist-info → sycommon_python_lib-0.1.52a0.dist-info}/RECORD +9 -9
- {sycommon_python_lib-0.1.51.dist-info → sycommon_python_lib-0.1.52a0.dist-info}/WHEEL +0 -0
- {sycommon_python_lib-0.1.51.dist-info → sycommon_python_lib-0.1.52a0.dist-info}/entry_points.txt +0 -0
- {sycommon_python_lib-0.1.51.dist-info → sycommon_python_lib-0.1.52a0.dist-info}/top_level.txt +0 -0
|
@@ -307,22 +307,29 @@ class RabbitMQClient:
|
|
|
307
307
|
return self._consumer_tag
|
|
308
308
|
|
|
309
309
|
async def stop_consuming(self) -> None:
|
|
310
|
-
"""
|
|
310
|
+
"""停止消息消费(适配 RobustChannel)"""
|
|
311
311
|
async with self._consume_lock:
|
|
312
312
|
try:
|
|
313
|
-
#
|
|
313
|
+
# 校验核心条件:消费标签、队列、通道均有效
|
|
314
314
|
if self._consumer_tag and self._queue and self._channel and not self._channel.is_closed:
|
|
315
|
-
#
|
|
316
|
-
await self.
|
|
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
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
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 (
|
sycommon/synacos/feign_client.py
CHANGED
|
@@ -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]
|
|
@@ -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=
|
|
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=
|
|
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
|
|
48
|
-
sycommon/synacos/feign_client.py,sha256=
|
|
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.
|
|
56
|
-
sycommon_python_lib-0.1.
|
|
57
|
-
sycommon_python_lib-0.1.
|
|
58
|
-
sycommon_python_lib-0.1.
|
|
59
|
-
sycommon_python_lib-0.1.
|
|
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,,
|
|
File without changes
|
{sycommon_python_lib-0.1.51.dist-info → sycommon_python_lib-0.1.52a0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{sycommon_python_lib-0.1.51.dist-info → sycommon_python_lib-0.1.52a0.dist-info}/top_level.txt
RENAMED
|
File without changes
|