sycommon-python-lib 0.2.8a11__py3-none-any.whl → 0.2.8a12__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.
@@ -147,7 +147,18 @@ class RabbitMQConnectionMonitor(RabbitMQClientManager):
147
147
  # 检查消费任务状态
148
148
  task_exists = client_name in RabbitMQConsumerManager._consumer_tasks
149
149
  task = RabbitMQConsumerManager._consumer_tasks.get(client_name)
150
- has_tag = client_name in RabbitMQConsumerManager._consumer_tags
150
+ # 🔒 tag 残留修复(2026-08-22 线上实锤):manager._consumer_tags 只在
151
+ # consume_task 的 finally 里清理,而 task 正常时永远挂在
152
+ # stop_event.wait() 不退出 → 一旦 client._consumer_tag 被清
153
+ # (通道关闭钩子/恢复失败置None),manager 侧记录残留 has_tag=True,
154
+ # 假死判定分支被整体跳过("task运行中且有tag→正常"),监控每 15s
155
+ # 打"重新注册消费"却永远不做任何事——线上消费者丢失 70+ 分钟
156
+ # 未自愈即此死锁。has_tag 必须以 client 真实状态为准。
157
+ client_obj = RabbitMQConsumerManager._clients.get(client_name)
158
+ client_tag_alive = bool(
159
+ client_obj and getattr(client_obj, "_consumer_tag", None))
160
+ has_tag = (client_name in RabbitMQConsumerManager._consumer_tags) \
161
+ and client_tag_alive
151
162
 
152
163
  # 【兜底】有 handler 但 task 不存在 → 消费者根本没起来,直接重启
153
164
  # (例如 start_consumer 抛异常、或 reload/异常路径把 task 清掉但 handler 还在)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.8a11
3
+ Version: 0.2.8a12
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -264,7 +264,7 @@ sycommon/rabbitmq/rabbitmq_client.py,sha256=G36mcyFdrMSHO5FeMcDaVPEN_d8R2u18GCRH
264
264
  sycommon/rabbitmq/rabbitmq_pool.py,sha256=alZ4vDZAgulSaDbkGJy04nxh239wAVxiYvm2DTLXSBE,18163
265
265
  sycommon/rabbitmq/rabbitmq_service.py,sha256=EBepnotvzZvj34t40HEDup_GAtJI_i1xb795n3nh244,10043
266
266
  sycommon/rabbitmq/rabbitmq_service_client_manager.py,sha256=UZgpD6n0mdo5u3gaGW-jhUuPV50bRNdXFESzL9ABsR4,10623
267
- sycommon/rabbitmq/rabbitmq_service_connection_monitor.py,sha256=Ga_O9I_3lxrsr2qvRWi986KqL91a3SM-HY8r0MEJ45Q,21808
267
+ sycommon/rabbitmq/rabbitmq_service_connection_monitor.py,sha256=EbRmvkNuOSZ_SKHtMFn-TDMlOWuCfhhRybvTOyqX0_o,22685
268
268
  sycommon/rabbitmq/rabbitmq_service_consumer_manager.py,sha256=GeiS1GEtny5MxopIdKOCfeRB1AzkHZKPXKq9_jwg1KI,10274
269
269
  sycommon/rabbitmq/rabbitmq_service_core.py,sha256=_t8LQSUB5PyA16uHkjGgh8LvNVYg9DB7ICL0GYD3nlg,10600
270
270
  sycommon/rabbitmq/rabbitmq_service_producer_manager.py,sha256=60xryGoRDRS57cFIVQQj1CPxECXOQRBKXN4OaAknRQA,15132
@@ -334,8 +334,8 @@ sycommon/tools/timing.py,sha256=OiiE7P07lRoMzX9kzb8sZU9cDb0zNnqIlY5pWqHcnkY,2064
334
334
  sycommon/tools/user_id.py,sha256=o-zsubGSR5rSSZf8Pk8B7AhE21ahDTTIW5JZmJO6Flw,4761
335
335
  sycommon/xxljob/__init__.py,sha256=7eoBlQxv-B39IfRSCY2bkqdGYs1QRe1umAWd88VMEEM,86
336
336
  sycommon/xxljob/xxljob_service.py,sha256=1yifwIBNGsCIxLnQjHKiBlbsigc_zvPH-dMTZcNxe-Q,7649
337
- sycommon_python_lib-0.2.8a11.dist-info/METADATA,sha256=l_sTom6FKH1fNSsDNFuKClu2PKCxXWJiEy3Gl5cfEmE,8033
338
- sycommon_python_lib-0.2.8a11.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
339
- sycommon_python_lib-0.2.8a11.dist-info/entry_points.txt,sha256=gsR4SssKxDWjRU8ggidzNcdMXDPRSKRS7UaGyNP84Qg,92
340
- sycommon_python_lib-0.2.8a11.dist-info/top_level.txt,sha256=RgphKrg7nJyZ7irJqbxFr-5H2LUYTvI7ivoWZH2hcD0,29
341
- sycommon_python_lib-0.2.8a11.dist-info/RECORD,,
337
+ sycommon_python_lib-0.2.8a12.dist-info/METADATA,sha256=AuGxUAW8tC-CIh63rj0YZf0PjwNRnry3-KpD4cyZJFU,8033
338
+ sycommon_python_lib-0.2.8a12.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
339
+ sycommon_python_lib-0.2.8a12.dist-info/entry_points.txt,sha256=gsR4SssKxDWjRU8ggidzNcdMXDPRSKRS7UaGyNP84Qg,92
340
+ sycommon_python_lib-0.2.8a12.dist-info/top_level.txt,sha256=RgphKrg7nJyZ7irJqbxFr-5H2LUYTvI7ivoWZH2hcD0,29
341
+ sycommon_python_lib-0.2.8a12.dist-info/RECORD,,