aury-boot 0.0.41__py3-none-any.whl → 0.0.42__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.
aury/boot/_version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.0.41'
32
- __version_tuple__ = version_tuple = (0, 0, 41)
31
+ __version__ = version = '0.0.42'
32
+ __version_tuple__ = version_tuple = (0, 0, 42)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -96,15 +96,21 @@ class RedisCache(ICache):
96
96
  self._is_cluster = False
97
97
 
98
98
  async def _init_cluster(self) -> None:
99
- """初始化 Redis Cluster
99
+ """初始化 Redis Cluster(使用 coredis)。
100
100
 
101
101
  支持 URL 格式:
102
102
  - redis-cluster://password@host:port (密码在用户名位置)
103
103
  - redis-cluster://:password@host:port (标准格式)
104
104
  - redis-cluster://username:password@host:port (ACL 模式)
105
105
  """
106
- from redis.asyncio.cluster import RedisCluster
106
+ try:
107
+ from coredis import RedisCluster
108
+ except ImportError as exc:
109
+ raise ImportError(
110
+ "Redis Cluster 需要安装 coredis: pip install coredis"
111
+ ) from exc
107
112
 
113
+ # 解析 URL
108
114
  parsed_url = self._url.replace("redis-cluster://", "redis://")
109
115
  parsed = urlparse(parsed_url)
110
116
 
@@ -112,7 +118,7 @@ class RedisCache(ICache):
112
118
  username = parsed.username
113
119
  password = parsed.password
114
120
 
115
- # 处理 password@host 格式(密码在用户名位置)
121
+ # 处理 password@host 格式
116
122
  if username and not password:
117
123
  password = username
118
124
  username = None
@@ -122,8 +128,6 @@ class RedisCache(ICache):
122
128
  "host": parsed.hostname or "localhost",
123
129
  "port": parsed.port or 6379,
124
130
  "decode_responses": False,
125
- "socket_connect_timeout": 5,
126
- "socket_timeout": 5,
127
131
  }
128
132
 
129
133
  if username:
@@ -250,10 +254,8 @@ class RedisCache(ICache):
250
254
  async def close(self) -> None:
251
255
  """关闭连接(仅当自己拥有连接时)。"""
252
256
  if self._redis and self._owns_connection:
253
- if self._is_cluster:
254
- await self._redis.aclose()
255
- else:
256
- await self._redis.close()
257
+ # coredis 和 redis-py 都使用 close() 方法
258
+ await self._redis.close()
257
259
  logger.info("Redis连接已关闭")
258
260
  self._redis = None
259
261
 
@@ -202,15 +202,21 @@ class RedisClient:
202
202
  self._is_cluster = False
203
203
 
204
204
  async def _initialize_cluster(self, url: str) -> None:
205
- """初始化 Redis Cluster 连接。
205
+ """初始化 Redis Cluster 连接(使用 coredis)。
206
206
 
207
207
  支持 URL 格式:
208
208
  - redis-cluster://password@host:port (密码在用户名位置)
209
209
  - redis-cluster://:password@host:port (标准格式)
210
210
  - redis-cluster://username:password@host:port (ACL 模式)
211
211
  """
212
- from redis.asyncio.cluster import RedisCluster
212
+ try:
213
+ from coredis import RedisCluster
214
+ except ImportError as exc:
215
+ raise ImportError(
216
+ "Redis Cluster 需要安装 coredis: pip install coredis"
217
+ ) from exc
213
218
 
219
+ # 解析 URL
214
220
  parsed_url = url.replace("redis-cluster://", "redis://")
215
221
  parsed = urlparse(parsed_url)
216
222
 
@@ -218,7 +224,7 @@ class RedisClient:
218
224
  username = parsed.username
219
225
  password = parsed.password
220
226
 
221
- # 处理 password@host 格式(密码在用户名位置)
227
+ # 处理 password@host 格式
222
228
  if username and not password:
223
229
  password = username
224
230
  username = None
@@ -228,9 +234,6 @@ class RedisClient:
228
234
  "host": parsed.hostname or "localhost",
229
235
  "port": parsed.port or 6379,
230
236
  "decode_responses": self._config.decode_responses,
231
- "socket_timeout": self._config.socket_timeout,
232
- "socket_connect_timeout": self._config.socket_connect_timeout,
233
- "retry_on_timeout": self._config.retry_on_timeout,
234
237
  }
235
238
 
236
239
  if username:
@@ -313,7 +316,8 @@ class RedisClient:
313
316
  """清理资源,关闭连接。"""
314
317
  if self._redis:
315
318
  if self._is_cluster:
316
- await self._redis.aclose()
319
+ # coredis 使用 close() 方法
320
+ await self._redis.close()
317
321
  else:
318
322
  await self._redis.close()
319
323
  logger.info(f"Redis 客户端 [{self.name}] 已关闭")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aury-boot
3
- Version: 0.0.41
3
+ Version: 0.0.42
4
4
  Summary: Aury Boot - 基于 FastAPI 生态的企业级 API 开发框架
5
5
  Requires-Python: >=3.13
6
6
  Requires-Dist: aiohttp>=3.11.0
@@ -1,5 +1,5 @@
1
1
  aury/boot/__init__.py,sha256=pCno-EInnpIBa1OtxNYF-JWf9j95Cd2h6vmu0xqa_-4,1791
2
- aury/boot/_version.py,sha256=XRH4Syd0y7_asD1GcBDRmffqwVXH2YolX61PmnP0c58,706
2
+ aury/boot/_version.py,sha256=f7OCYKa3JxU7ivIZuRhrUjsUfgAkieENmQhgCn-5SzY,706
3
3
  aury/boot/application/__init__.py,sha256=I2KqNVdYg2q5nlOXr0TtFGyHmhj4oWdaR6ZB73Mwg7Y,3041
4
4
  aury/boot/application/adapter/__init__.py,sha256=e1bcSb1bxUMfofTwiCuHBZJk5-STkMCWPF2EJXHQ7UU,3976
5
5
  aury/boot/application/adapter/base.py,sha256=Ar_66fiHPDEmV-1DKnqXKwc53p3pozG31bgTJTEUriY,15763
@@ -143,7 +143,7 @@ aury/boot/infrastructure/cache/exceptions.py,sha256=KZsFIHXW3_kOh_KB93EVZJKbiDvD
143
143
  aury/boot/infrastructure/cache/factory.py,sha256=aF74JoiiSKFgctqqh2Z8OtGRS2Am_ou-I40GyygLzC0,2489
144
144
  aury/boot/infrastructure/cache/manager.py,sha256=2jlshbO4NqpPxH-8DBiMFNAvWuZUI3atUCsw9GGlzc8,16807
145
145
  aury/boot/infrastructure/cache/memory.py,sha256=qGhLKKjGsEUHjVRFMV6A33MB_1iPaKCEEkT6VFrLkQY,9832
146
- aury/boot/infrastructure/cache/redis.py,sha256=w-X4sUo-g3jq-_hqVvSMeZXNPb2eCps1ogYobXa-07s,10420
146
+ aury/boot/infrastructure/cache/redis.py,sha256=NGtowB2DNXC1AX5v4FK9RRRl6wFZxoOWi3d6oiUzjvo,10485
147
147
  aury/boot/infrastructure/channel/__init__.py,sha256=zv3dNH4By8h-5Fksi18LFJVf5cXBmj0M49DjTfQL2w4,712
148
148
  aury/boot/infrastructure/channel/base.py,sha256=xE_7vtgSB06PIq6HPh59MXXisjBuz530NmlnMwQxU5Q,3049
149
149
  aury/boot/infrastructure/channel/manager.py,sha256=pTXhWTjRh83ifX9bKlsD4t5w1pZQOZszGbiy4wBYfJ8,7906
@@ -157,7 +157,7 @@ aury/boot/infrastructure/clients/rabbitmq/config.py,sha256=YmvNiISpqNt-LE2Crpzmx
157
157
  aury/boot/infrastructure/clients/rabbitmq/manager.py,sha256=a3Op0yN2DICnoqxOVb0DVT9RnoF8laN2EutOsOSWzWA,9659
158
158
  aury/boot/infrastructure/clients/redis/__init__.py,sha256=HGZVfcWmOPeiAk-rJ8Yun7N5CQiPlGFofdByvl8Uqso,613
159
159
  aury/boot/infrastructure/clients/redis/config.py,sha256=KfC2R7bcQ91zjTp8Q_S7j3ZemDLdejUYc3CrWsJlpNM,1421
160
- aury/boot/infrastructure/clients/redis/manager.py,sha256=7ZanUIU0Ph0Nc2raa1Mwhz7ox4msk7NsaNGzCbJrrxo,11076
160
+ aury/boot/infrastructure/clients/redis/manager.py,sha256=lJiO4ChczgSb4MJLjFmESJtRxK_dkZWgvh8E9Wt3wc0,11103
161
161
  aury/boot/infrastructure/database/__init__.py,sha256=MsHNyrJ2CZJT-lbVZzOAJ0nFfFEmHrJqC0zw-cFS768,888
162
162
  aury/boot/infrastructure/database/config.py,sha256=5LYy4DuLL0XNjVnX2HUcrMh3c71eeZa-vWGM8QCkL0U,1408
163
163
  aury/boot/infrastructure/database/exceptions.py,sha256=hUjsU23c0eMwogSDrKq_bQ6zvnY7PQSGaitbCEhhDZQ,766
@@ -218,7 +218,7 @@ aury/boot/testing/client.py,sha256=KOg1EemuIVsBG68G5y0DjSxZGcIQVdWQ4ASaHE3o1R0,4
218
218
  aury/boot/testing/factory.py,sha256=8GvwX9qIDu0L65gzJMlrWB0xbmJ-7zPHuwk3eECULcg,5185
219
219
  aury/boot/toolkit/__init__.py,sha256=AcyVb9fDf3CaEmJPNkWC4iGv32qCPyk4BuFKSuNiJRQ,334
220
220
  aury/boot/toolkit/http/__init__.py,sha256=5bv4Ntz1sbNFhP9zPLBDhB536ZX1CKIAOp-kQSKMRQ0,14161
221
- aury_boot-0.0.41.dist-info/METADATA,sha256=igdVtmaeIa_30IfFkl6gkLnSpAjaJR_RmD6RO73Z1JY,9179
222
- aury_boot-0.0.41.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
223
- aury_boot-0.0.41.dist-info/entry_points.txt,sha256=f9KXEkDIGc0BGkgBvsNx_HMz9VhDjNxu26q00jUpDwQ,49
224
- aury_boot-0.0.41.dist-info/RECORD,,
221
+ aury_boot-0.0.42.dist-info/METADATA,sha256=XD_XzyPx56L6W8X2ZBAbgp1naPm4NKwhq1tMH_Aq5FM,9179
222
+ aury_boot-0.0.42.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
223
+ aury_boot-0.0.42.dist-info/entry_points.txt,sha256=f9KXEkDIGc0BGkgBvsNx_HMz9VhDjNxu26q00jUpDwQ,49
224
+ aury_boot-0.0.42.dist-info/RECORD,,