jettask 0.2.13__py3-none-any.whl → 0.2.14__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.
@@ -181,62 +181,39 @@ class NamespaceDataAccessManager:
181
181
 
182
182
  async def get_namespace_config(self, namespace_name: str) -> dict:
183
183
  """从任务中心API获取命名空间配置"""
184
- # 直接从数据库获取,而不是通过HTTP调用自己
185
- # 这避免了循环依赖和网络问题
184
+ # 使用127.0.0.1替代localhost,确保容器内能正确连接
185
+ base_url = self.task_center_base_url
186
+ if 'localhost' in base_url:
187
+ base_url = base_url.replace('localhost', '127.0.0.1')
188
+ url = f"{base_url}/api/namespaces/{namespace_name}"
189
+
186
190
  try:
187
- # 先尝试从缓存或直接数据库访问
188
- from jettask.webui.backend.models import NamespaceModel
189
- from jettask.webui.backend.db_init import get_async_session
190
- from sqlalchemy import select
191
-
192
- async with get_async_session() as session:
193
- stmt = select(NamespaceModel).where(NamespaceModel.name == namespace_name)
194
- result = await session.execute(stmt)
195
- namespace = result.scalar_one_or_none()
196
-
197
- if namespace:
191
+ session = await self._get_session()
192
+ async with session.get(url) as resp:
193
+ if resp.status == 200:
194
+ data = await resp.json()
195
+ # API返回的是redis_config和pg_config,直接使用
196
+ redis_config = data.get('redis_config', {})
197
+ pg_config = data.get('pg_config', {})
198
+
199
+ # 兼容旧格式:如果有redis_url和pg_url字段
200
+ if not redis_config and data.get('redis_url'):
201
+ redis_config = {'url': data.get('redis_url')}
202
+
203
+ if not pg_config and data.get('pg_url'):
204
+ pg_config = {'url': data.get('pg_url')}
205
+
198
206
  return {
199
- 'name': namespace.name,
200
- 'redis_config': namespace.redis_config or {},
201
- 'pg_config': namespace.pg_config or {}
207
+ 'name': data.get('name'),
208
+ 'redis_config': redis_config,
209
+ 'pg_config': pg_config
202
210
  }
203
211
  else:
204
- raise ValueError(f"命名空间 {namespace_name} 不存在")
205
- except (ImportError, Exception) as e:
206
- # 如果无法直接访问数据库,则通过HTTP调用(但使用127.0.0.1)
207
- logger.warning(f"直接数据库访问失败,回退到HTTP调用: {e}")
208
- base_url = self.task_center_base_url
209
- if 'localhost' in base_url:
210
- base_url = base_url.replace('localhost', '127.0.0.1')
211
- url = f"{base_url}/api/namespaces/{namespace_name}"
212
-
213
- try:
214
- session = await self._get_session()
215
- async with session.get(url) as resp:
216
- if resp.status == 200:
217
- data = await resp.json()
218
- # API返回的是redis_config和pg_config,直接使用
219
- redis_config = data.get('redis_config', {})
220
- pg_config = data.get('pg_config', {})
221
-
222
- # 兼容旧格式:如果有redis_url和pg_url字段
223
- if not redis_config and data.get('redis_url'):
224
- redis_config = {'url': data.get('redis_url')}
225
-
226
- if not pg_config and data.get('pg_url'):
227
- pg_config = {'url': data.get('pg_url')}
228
-
229
- return {
230
- 'name': data.get('name'),
231
- 'redis_config': redis_config,
232
- 'pg_config': pg_config
233
- }
234
- else:
235
- raise ValueError(f"无法获取命名空间 {namespace_name} 的配置: HTTP {resp.status}")
236
- except Exception as e:
237
- logger.error(f"通过HTTP获取命名空间 {namespace_name} 配置失败: {e}")
238
- traceback.print_exc()
239
- raise
212
+ raise ValueError(f"无法获取命名空间 {namespace_name} 的配置: HTTP {resp.status}")
213
+ except Exception as e:
214
+ logger.error(f"获取命名空间 {namespace_name} 配置失败: {e}")
215
+ traceback.print_exc()
216
+ raise
240
217
 
241
218
  async def get_connection(self, namespace_name: str) -> NamespaceConnection:
242
219
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jettask
3
- Version: 0.2.13
3
+ Version: 0.2.14
4
4
  Summary: A high-performance distributed task queue system with web monitoring
5
5
  Author-email: JetTask Team <support@jettask.io>
6
6
  License-Expression: MIT
@@ -92,7 +92,7 @@ jettask/webui/backend/main_unified.py,sha256=4owlt7n1Axg2zwzmaACHkuIZTj-KJonXxjK
92
92
  jettask/webui/backend/main_v2.py,sha256=XU7LZriOuTcMHt8rZTeNUAtY7HBIu50vzJT-f8_AbCs,11603
93
93
  jettask/webui/backend/namespace_api.py,sha256=Q-VmwszGjJXrGI_GlNM356l1TSprRENE-p1vtR-WUt0,11310
94
94
  jettask/webui/backend/namespace_api_old.py,sha256=lGmkWurtt5LTsTDzjkG8q3rhyMrzzm73VUFkCmafI5Y,11240
95
- jettask/webui/backend/namespace_data_access.py,sha256=GB4mzL1SGObnk7iW2ns6OC94NRifiFKZZLmvrBcKw2I,27134
95
+ jettask/webui/backend/namespace_data_access.py,sha256=Cw2_FLm5MqRKEVLaRyM6qBpIU8Azb0qPIeXBTfNeRWM,25823
96
96
  jettask/webui/backend/queue_backlog_api.py,sha256=HQphpAj4gFRxw7S4h1LC3HxM6eWWMleNr7cDSaxKnyI,26681
97
97
  jettask/webui/backend/queue_stats_v2.py,sha256=VeI46WQREFAQgqW330eKs0jO7ZBehLIEKsxAAu907T8,24402
98
98
  jettask/webui/backend/redis_monitor_api.py,sha256=fmDCzHAm2jtx1IhKZ299W5IS2CSI1RS7EC9V3rDtELs,18287
@@ -164,9 +164,9 @@ jettask/webui/models/__init__.py,sha256=5cv0oZksj1B3_rzCqsPmF3Gn9NRZLwzMnaJ8bOKG
164
164
  jettask/webui/models/namespace.py,sha256=jDj-hZF_-wXzrWAWVDyZVU0JUWDax9apb4Gyykwg-rE,2006
165
165
  jettask/webui/sql/batch_upsert_functions.sql,sha256=5eWOhOD8gWHhtcop_BrCpZTxPFeyBHtt_leNQZO89Cs,6615
166
166
  jettask/webui/sql/init_database.sql,sha256=CSjhBZldtfV0SGBLTFf576ALaRfCFe3wywpezzkX1TQ,22369
167
- jettask-0.2.13.dist-info/licenses/LICENSE,sha256=sKR8OPWvnqxzcHAmnaVSANpRpeM0Z52PNLCB0ZlFN6c,1062
168
- jettask-0.2.13.dist-info/METADATA,sha256=KbsHMYpOfvTjraDeGQdFNDNqMoiDbZKFK3EdO_n_rNY,2956
169
- jettask-0.2.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
170
- jettask-0.2.13.dist-info/entry_points.txt,sha256=VC3byRkkSfRHu_QzczGtpGjcFERkJUlCrD__TFLVqxI,153
171
- jettask-0.2.13.dist-info/top_level.txt,sha256=uymyRUF87-OsSurk5NhpeTW0jy3Wltnn91Zoa6jmAaw,8
172
- jettask-0.2.13.dist-info/RECORD,,
167
+ jettask-0.2.14.dist-info/licenses/LICENSE,sha256=sKR8OPWvnqxzcHAmnaVSANpRpeM0Z52PNLCB0ZlFN6c,1062
168
+ jettask-0.2.14.dist-info/METADATA,sha256=FOi8o9_uBTUDLricQRla6hTHpCaG6vigrp6GZiSch5Q,2956
169
+ jettask-0.2.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
170
+ jettask-0.2.14.dist-info/entry_points.txt,sha256=VC3byRkkSfRHu_QzczGtpGjcFERkJUlCrD__TFLVqxI,153
171
+ jettask-0.2.14.dist-info/top_level.txt,sha256=uymyRUF87-OsSurk5NhpeTW0jy3Wltnn91Zoa6jmAaw,8
172
+ jettask-0.2.14.dist-info/RECORD,,