sycommon-python-lib 0.1.50__tar.gz → 0.1.51__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 (64) hide show
  1. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/PKG-INFO +1 -1
  2. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/pyproject.toml +1 -1
  3. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/rabbitmq/rabbitmq_client.py +15 -11
  4. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/services.py +1 -1
  5. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
  6. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/README.md +0 -0
  7. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/setup.cfg +0 -0
  8. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/command/cli.py +0 -0
  9. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/__init__.py +0 -0
  10. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/config/Config.py +0 -0
  11. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/config/DatabaseConfig.py +0 -0
  12. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/config/EmbeddingConfig.py +0 -0
  13. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/config/LLMConfig.py +0 -0
  14. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/config/MQConfig.py +0 -0
  15. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/config/RerankerConfig.py +0 -0
  16. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/config/__init__.py +0 -0
  17. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/database/base_db_service.py +0 -0
  18. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/database/database_service.py +0 -0
  19. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/health/__init__.py +0 -0
  20. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/health/health_check.py +0 -0
  21. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/health/metrics.py +0 -0
  22. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/health/ping.py +0 -0
  23. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/logging/__init__.py +0 -0
  24. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/logging/kafka_log.py +0 -0
  25. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/logging/logger_wrapper.py +0 -0
  26. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/logging/sql_logger.py +0 -0
  27. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/middleware/__init__.py +0 -0
  28. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/middleware/context.py +0 -0
  29. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/middleware/cors.py +0 -0
  30. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/middleware/docs.py +0 -0
  31. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/middleware/exception.py +0 -0
  32. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/middleware/middleware.py +0 -0
  33. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/middleware/monitor_memory.py +0 -0
  34. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/middleware/mq.py +0 -0
  35. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/middleware/timeout.py +0 -0
  36. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/middleware/traceid.py +0 -0
  37. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/models/__init__.py +0 -0
  38. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/models/base_http.py +0 -0
  39. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/models/log.py +0 -0
  40. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/models/mqlistener_config.py +0 -0
  41. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/models/mqmsg_model.py +0 -0
  42. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/models/mqsend_config.py +0 -0
  43. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/models/sso_user.py +0 -0
  44. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
  45. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
  46. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/sse/__init__.py +0 -0
  47. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/sse/event.py +0 -0
  48. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/sse/sse.py +0 -0
  49. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/synacos/__init__.py +0 -0
  50. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/synacos/example.py +0 -0
  51. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/synacos/example2.py +0 -0
  52. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/synacos/feign.py +0 -0
  53. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/synacos/feign_client.py +0 -0
  54. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/synacos/nacos_service.py +0 -0
  55. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/synacos/param.py +0 -0
  56. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/tools/__init__.py +0 -0
  57. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/tools/docs.py +0 -0
  58. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/tools/snowflake.py +0 -0
  59. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon/tools/timing.py +0 -0
  60. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
  61. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
  62. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
  63. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
  64. {sycommon_python_lib-0.1.50 → sycommon_python_lib-0.1.51}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.1.50
3
+ Version: 0.1.51
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sycommon-python-lib"
3
- version = "0.1.50"
3
+ version = "0.1.51"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -53,7 +53,7 @@ class RabbitMQClient:
53
53
  self.exchange_type = ExchangeType(exchange_type.lower())
54
54
  except ValueError:
55
55
  logger.warning(f"无效的exchange_type: {exchange_type},默认使用'topic'")
56
- self.exchange_type = ExchangeType.TOPIC.name.lower()
56
+ self.exchange_type = ExchangeType.TOPIC
57
57
 
58
58
  # 队列配置
59
59
  self.queue_name = queue_name.strip() if queue_name else None
@@ -176,10 +176,6 @@ class RabbitMQClient:
176
176
  self._channel_conn.close_callbacks.add(
177
177
  self._conn_close_callback)
178
178
 
179
- # 单通道池已设置prefetch_count,无需重复设置
180
- logger.debug(f"使用连接池预配置的prefetch_count")
181
-
182
- # 默认启用异步发布确认
183
179
  # 重建交换机/队列资源
184
180
  await self._rebuild_resources()
185
181
 
@@ -311,16 +307,24 @@ class RabbitMQClient:
311
307
  return self._consumer_tag
312
308
 
313
309
  async def stop_consuming(self) -> None:
314
- """停止消息消费"""
310
+ """停止消息消费(修复:移除 _queue.is_closed 判断)"""
315
311
  async with self._consume_lock:
316
312
  try:
317
- if self._consumer_tag and self._queue and not self._queue.is_closed:
318
- await self._queue.cancel(self._consumer_tag)
319
- logger.info(f"停止消费成功,consumer_tag: {self._consumer_tag}")
313
+ # 判断 consumer_tag queue 是否存在,通道状态通过 _channel 校验
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)
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})")
320
323
  except Exception as e:
321
- logger.error(f"停止消费失败: {str(e)}", exc_info=True)
324
+ logger.error(
325
+ f"停止消费者 '{self._queue.name if self._queue else '未知队列'}' 时出错: {str(e)}", exc_info=True)
322
326
  finally:
323
- self._consumer_tag = None
327
+ self._consumer_tag = None # 无论成败,清理消费标签
324
328
 
325
329
  async def publish(
326
330
  self,
@@ -70,7 +70,7 @@ class Services(metaclass=SingletonMeta):
70
70
  app.state.config = {
71
71
  "host": cls._config.get('Host', '0.0.0.0'),
72
72
  "port": cls._config.get('Port', 8080),
73
- "workers": cls._config.get('Workers', 2),
73
+ "workers": cls._config.get('Workers', 1),
74
74
  "h11_max_incomplete_event_size": cls._config.get('H11MaxIncompleteEventSize', 1024 * 1024 * 10)
75
75
  }
76
76
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.1.50
3
+ Version: 0.1.51
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown