jettask 0.2.17__tar.gz → 0.2.18__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 (156) hide show
  1. {jettask-0.2.17/jettask.egg-info → jettask-0.2.18}/PKG-INFO +1 -1
  2. {jettask-0.2.17 → jettask-0.2.18}/jettask/config/nacos_config.py +34 -14
  3. {jettask-0.2.17 → jettask-0.2.18/jettask.egg-info}/PKG-INFO +1 -1
  4. {jettask-0.2.17 → jettask-0.2.18}/pyproject.toml +1 -1
  5. {jettask-0.2.17 → jettask-0.2.18}/LICENSE +0 -0
  6. {jettask-0.2.17 → jettask-0.2.18}/MANIFEST.in +0 -0
  7. {jettask-0.2.17 → jettask-0.2.18}/README.md +0 -0
  8. {jettask-0.2.17 → jettask-0.2.18}/jettask/__init__.py +0 -0
  9. {jettask-0.2.17 → jettask-0.2.18}/jettask/__main__.py +0 -0
  10. {jettask-0.2.17 → jettask-0.2.18}/jettask/api/__init__.py +0 -0
  11. {jettask-0.2.17 → jettask-0.2.18}/jettask/api/v1/__init__.py +0 -0
  12. {jettask-0.2.17 → jettask-0.2.18}/jettask/api/v1/alerts.py +0 -0
  13. {jettask-0.2.17 → jettask-0.2.18}/jettask/api/v1/analytics.py +0 -0
  14. {jettask-0.2.17 → jettask-0.2.18}/jettask/api/v1/namespaces.py +0 -0
  15. {jettask-0.2.17 → jettask-0.2.18}/jettask/api/v1/overview.py +0 -0
  16. {jettask-0.2.17 → jettask-0.2.18}/jettask/api/v1/queues.py +0 -0
  17. {jettask-0.2.17 → jettask-0.2.18}/jettask/api/v1/scheduled.py +0 -0
  18. {jettask-0.2.17 → jettask-0.2.18}/jettask/api/v1/settings.py +0 -0
  19. {jettask-0.2.17 → jettask-0.2.18}/jettask/api.py +0 -0
  20. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/__init__.py +0 -0
  21. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/api/__init__.py +0 -0
  22. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/api/v1/__init__.py +0 -0
  23. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/api/v1/monitoring.py +0 -0
  24. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/api/v1/namespaces.py +0 -0
  25. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/api/v1/queues.py +0 -0
  26. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/api/v1/tasks.py +0 -0
  27. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/config.py +0 -0
  28. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/core/__init__.py +0 -0
  29. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/core/cache.py +0 -0
  30. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/core/database.py +0 -0
  31. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/core/exceptions.py +0 -0
  32. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/data_access.py +0 -0
  33. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/dependencies.py +0 -0
  34. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/init_meta_db.py +0 -0
  35. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/main.py +0 -0
  36. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/main_unified.py +0 -0
  37. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/main_v2.py +0 -0
  38. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/models/__init__.py +0 -0
  39. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/models/requests.py +0 -0
  40. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/models/responses.py +0 -0
  41. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/namespace_api_old.py +0 -0
  42. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/namespace_data_access.py +0 -0
  43. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/queue_stats_v2.py +0 -0
  44. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/services/__init__.py +0 -0
  45. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/start.py +0 -0
  46. {jettask-0.2.17 → jettask-0.2.18}/jettask/backend/unified_api_router.py +0 -0
  47. {jettask-0.2.17 → jettask-0.2.18}/jettask/cleanup_deprecated_tables.sql +0 -0
  48. {jettask-0.2.17 → jettask-0.2.18}/jettask/cli.py +0 -0
  49. {jettask-0.2.17 → jettask-0.2.18}/jettask/config/__init__.py +0 -0
  50. {jettask-0.2.17 → jettask-0.2.18}/jettask/config/performance.py +0 -0
  51. {jettask-0.2.17 → jettask-0.2.18}/jettask/constants.py +0 -0
  52. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/__init__.py +0 -0
  53. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/app.py +0 -0
  54. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/app_importer.py +0 -0
  55. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/consumer_manager.py +0 -0
  56. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/context.py +0 -0
  57. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/db_manager.py +0 -0
  58. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/delay_scanner.py +0 -0
  59. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/enums.py +0 -0
  60. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/event_pool.py +0 -0
  61. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/heartbeat_process.py +0 -0
  62. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/message.py +0 -0
  63. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/offline_worker_recovery.py +0 -0
  64. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/retry.py +0 -0
  65. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/task.py +0 -0
  66. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/task_batch.py +0 -0
  67. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/unified_manager_base.py +0 -0
  68. {jettask-0.2.17 → jettask-0.2.18}/jettask/core/worker_scanner.py +0 -0
  69. {jettask-0.2.17 → jettask-0.2.18}/jettask/db_init.py +0 -0
  70. {jettask-0.2.17 → jettask-0.2.18}/jettask/exceptions.py +0 -0
  71. {jettask-0.2.17 → jettask-0.2.18}/jettask/executors/__init__.py +0 -0
  72. {jettask-0.2.17 → jettask-0.2.18}/jettask/executors/asyncio.py +0 -0
  73. {jettask-0.2.17 → jettask-0.2.18}/jettask/executors/base.py +0 -0
  74. {jettask-0.2.17 → jettask-0.2.18}/jettask/executors/common.py +0 -0
  75. {jettask-0.2.17 → jettask-0.2.18}/jettask/executors/multi_asyncio.py +0 -0
  76. {jettask-0.2.17 → jettask-0.2.18}/jettask/gradio_app.py +0 -0
  77. {jettask-0.2.17 → jettask-0.2.18}/jettask/integrated_gradio_app.py +0 -0
  78. {jettask-0.2.17 → jettask-0.2.18}/jettask/main.py +0 -0
  79. {jettask-0.2.17 → jettask-0.2.18}/jettask/models.py +0 -0
  80. {jettask-0.2.17 → jettask-0.2.18}/jettask/monitor/run_backlog_collector.py +0 -0
  81. {jettask-0.2.17 → jettask-0.2.18}/jettask/monitor/stream_backlog_monitor.py +0 -0
  82. {jettask-0.2.17 → jettask-0.2.18}/jettask/monitoring/__init__.py +0 -0
  83. {jettask-0.2.17 → jettask-0.2.18}/jettask/monitoring/file_watcher.py +0 -0
  84. {jettask-0.2.17 → jettask-0.2.18}/jettask/multi_namespace_consumer.py +0 -0
  85. {jettask-0.2.17 → jettask-0.2.18}/jettask/pg_consumer/pg_consumer_v2.py +0 -0
  86. {jettask-0.2.17 → jettask-0.2.18}/jettask/pg_consumer/sql/add_execution_time_field.sql +0 -0
  87. {jettask-0.2.17 → jettask-0.2.18}/jettask/pg_consumer/sql/create_new_tables.sql +0 -0
  88. {jettask-0.2.17 → jettask-0.2.18}/jettask/pg_consumer/sql/create_tables_v3.sql +0 -0
  89. {jettask-0.2.17 → jettask-0.2.18}/jettask/pg_consumer/sql/migrate_to_new_structure.sql +0 -0
  90. {jettask-0.2.17 → jettask-0.2.18}/jettask/pg_consumer/sql/modify_time_fields.sql +0 -0
  91. {jettask-0.2.17 → jettask-0.2.18}/jettask/pg_consumer/sql_utils.py +0 -0
  92. {jettask-0.2.17 → jettask-0.2.18}/jettask/pg_consumer.py +0 -0
  93. {jettask-0.2.17 → jettask-0.2.18}/jettask/router.py +0 -0
  94. {jettask-0.2.17 → jettask-0.2.18}/jettask/run.py +0 -0
  95. {jettask-0.2.17 → jettask-0.2.18}/jettask/run_monitor.py +0 -0
  96. {jettask-0.2.17 → jettask-0.2.18}/jettask/run_webui.py +0 -0
  97. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/__init__.py +0 -0
  98. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/add_execution_count.sql +0 -0
  99. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/add_priority_field.sql +0 -0
  100. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/add_scheduler_id.sql +0 -0
  101. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/add_scheduler_id_index.sql +0 -0
  102. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/loader.py +0 -0
  103. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/make_scheduler_id_required.sql +0 -0
  104. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/manager.py +0 -0
  105. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/migrate_interval_seconds.sql +0 -0
  106. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/models.py +0 -0
  107. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/multi_namespace_scheduler.py +0 -0
  108. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/performance_optimization.sql +0 -0
  109. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/run_scheduler.py +0 -0
  110. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/scheduler.py +0 -0
  111. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/schema.sql +0 -0
  112. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/unified_manager.py +0 -0
  113. {jettask-0.2.17 → jettask-0.2.18}/jettask/scheduler/unified_scheduler_manager.py +0 -0
  114. {jettask-0.2.17 → jettask-0.2.18}/jettask/schema.sql +0 -0
  115. {jettask-0.2.17 → jettask-0.2.18}/jettask/schemas/__init__.py +0 -0
  116. {jettask-0.2.17 → jettask-0.2.18}/jettask/schemas/alert.py +0 -0
  117. {jettask-0.2.17 → jettask-0.2.18}/jettask/schemas/backlog.py +0 -0
  118. {jettask-0.2.17 → jettask-0.2.18}/jettask/schemas/common.py +0 -0
  119. {jettask-0.2.17 → jettask-0.2.18}/jettask/schemas/monitoring.py +0 -0
  120. {jettask-0.2.17 → jettask-0.2.18}/jettask/schemas/namespace.py +0 -0
  121. {jettask-0.2.17 → jettask-0.2.18}/jettask/schemas/queue.py +0 -0
  122. {jettask-0.2.17 → jettask-0.2.18}/jettask/schemas/scheduled_task.py +0 -0
  123. {jettask-0.2.17 → jettask-0.2.18}/jettask/schemas/task.py +0 -0
  124. {jettask-0.2.17 → jettask-0.2.18}/jettask/services/__init__.py +0 -0
  125. {jettask-0.2.17 → jettask-0.2.18}/jettask/services/alert_service.py +0 -0
  126. {jettask-0.2.17 → jettask-0.2.18}/jettask/services/analytics_service.py +0 -0
  127. {jettask-0.2.17 → jettask-0.2.18}/jettask/services/overview_service.py +0 -0
  128. {jettask-0.2.17 → jettask-0.2.18}/jettask/services/queue_service.py +0 -0
  129. {jettask-0.2.17 → jettask-0.2.18}/jettask/services/redis_monitor_service.py +0 -0
  130. {jettask-0.2.17 → jettask-0.2.18}/jettask/services/scheduled_task_service.py +0 -0
  131. {jettask-0.2.17 → jettask-0.2.18}/jettask/services/settings_service.py +0 -0
  132. {jettask-0.2.17 → jettask-0.2.18}/jettask/services/task_service.py +0 -0
  133. {jettask-0.2.17 → jettask-0.2.18}/jettask/task_center.py +0 -0
  134. {jettask-0.2.17 → jettask-0.2.18}/jettask/task_center_client.py +0 -0
  135. {jettask-0.2.17 → jettask-0.2.18}/jettask/unified_consumer_manager.py +0 -0
  136. {jettask-0.2.17 → jettask-0.2.18}/jettask/utils/__init__.py +0 -0
  137. {jettask-0.2.17 → jettask-0.2.18}/jettask/utils/error_handler.py +0 -0
  138. {jettask-0.2.17 → jettask-0.2.18}/jettask/utils/exception_hook.py +0 -0
  139. {jettask-0.2.17 → jettask-0.2.18}/jettask/utils/helpers.py +0 -0
  140. {jettask-0.2.17 → jettask-0.2.18}/jettask/utils/logger.py +0 -0
  141. {jettask-0.2.17 → jettask-0.2.18}/jettask/utils/serializer.py +0 -0
  142. {jettask-0.2.17 → jettask-0.2.18}/jettask/utils/serializer_optimized.py +0 -0
  143. {jettask-0.2.17 → jettask-0.2.18}/jettask/utils/task_logger.py +0 -0
  144. {jettask-0.2.17 → jettask-0.2.18}/jettask/utils/traceback_filter.py +0 -0
  145. {jettask-0.2.17 → jettask-0.2.18}/jettask/webui_config.py +0 -0
  146. {jettask-0.2.17 → jettask-0.2.18}/jettask/webui_exceptions.py +0 -0
  147. {jettask-0.2.17 → jettask-0.2.18}/jettask/webui_models/__init__.py +0 -0
  148. {jettask-0.2.17 → jettask-0.2.18}/jettask/webui_models/namespace.py +0 -0
  149. {jettask-0.2.17 → jettask-0.2.18}/jettask/webui_sql/batch_upsert_functions.sql +0 -0
  150. {jettask-0.2.17 → jettask-0.2.18}/jettask/webui_sql/verify_database.sql +0 -0
  151. {jettask-0.2.17 → jettask-0.2.18}/jettask.egg-info/SOURCES.txt +0 -0
  152. {jettask-0.2.17 → jettask-0.2.18}/jettask.egg-info/dependency_links.txt +0 -0
  153. {jettask-0.2.17 → jettask-0.2.18}/jettask.egg-info/entry_points.txt +0 -0
  154. {jettask-0.2.17 → jettask-0.2.18}/jettask.egg-info/requires.txt +0 -0
  155. {jettask-0.2.17 → jettask-0.2.18}/jettask.egg-info/top_level.txt +0 -0
  156. {jettask-0.2.17 → jettask-0.2.18}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jettask
3
- Version: 0.2.17
3
+ Version: 0.2.18
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
@@ -53,23 +53,38 @@ class Config:
53
53
  # 配置锁,保证线程安全
54
54
  self._config_lock = threading.RLock()
55
55
 
56
+ # 标记是否已初始化
57
+ self._initialized = False
58
+ self._config = None
59
+
60
+ @property
61
+ def config(self) -> dict:
62
+ """获取当前配置(线程安全,延迟初始化)"""
63
+ with self._config_lock:
64
+ # 延迟初始化:第一次访问时才初始化并加载配置
65
+ if not self._initialized:
66
+ self._lazy_init()
67
+ return self._config
68
+
69
+ def _lazy_init(self):
70
+ """延迟初始化:第一次访问配置时才执行"""
71
+ if self._initialized:
72
+ return
73
+
74
+ logger.info("第一次访问配置,开始初始化...")
75
+
56
76
  # 初始化配置
57
77
  self._init_config()
58
78
 
79
+ # 加载配置
59
80
  self._config = self._load_config()
60
81
 
61
-
62
82
  # 启动定时刷新
63
- if not self.local_dev_mode and refresh_interval > 0:
83
+ if not self.local_dev_mode and self.refresh_interval > 0:
64
84
  self.start_refresh_thread()
65
-
66
- @property
67
- def config(self) -> dict:
68
- """获取当前配置(线程安全)"""
69
- with self._config_lock:
70
- if not hasattr(self, '_config'):
71
- self._config = self._load_config()
72
- return self._config
85
+
86
+ self._initialized = True
87
+ logger.info("配置初始化完成")
73
88
 
74
89
  def _init_config(self):
75
90
  """初始化配置"""
@@ -265,8 +280,7 @@ class Config:
265
280
 
266
281
  def get(self, key, default=None):
267
282
  """获取配置项(线程安全)"""
268
- with self._config_lock:
269
- return self.config.get(key, default)
283
+ return self.config.get(key, default)
270
284
 
271
285
  def refresh(self) -> bool:
272
286
  """手动刷新配置
@@ -274,9 +288,14 @@ class Config:
274
288
  Returns:
275
289
  True if config was refreshed, False otherwise
276
290
  """
291
+ # 如果还未初始化,不执行刷新
292
+ if not self._initialized:
293
+ logger.debug("配置尚未初始化,跳过刷新")
294
+ return False
295
+
277
296
  try:
278
297
  logger.info("手动触发配置刷新")
279
- old_config = self._config.copy() if hasattr(self, '_config') else {}
298
+ old_config = self._config.copy() if self._config else {}
280
299
 
281
300
  with self._config_lock:
282
301
  new_config = self._load_config()
@@ -365,6 +384,7 @@ class Config:
365
384
  def get_config_info(self) -> Dict[str, Any]:
366
385
  """获取配置信息"""
367
386
  return {
387
+ 'initialized': self._initialized,
368
388
  'version': self.config_version,
369
389
  'last_refresh_time': self.last_refresh_time.isoformat() if self.last_refresh_time else None,
370
390
  'refresh_interval': self.refresh_interval,
@@ -374,7 +394,7 @@ class Config:
374
394
  'nacos_group': self.nacos_group,
375
395
  'nacos_data_id': self.nacos_data_id,
376
396
  'local_dev_mode': self.local_dev_mode,
377
- 'config_items_count': len(self.config) if hasattr(self, '_config') else 0
397
+ 'config_items_count': len(self._config) if self._config else 0
378
398
  }
379
399
 
380
400
  def __del__(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jettask
3
- Version: 0.2.17
3
+ Version: 0.2.18
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "jettask"
7
- version = "0.2.17"
7
+ version = "0.2.18"
8
8
  authors = [
9
9
  {name = "JetTask Team", email = "support@jettask.io"},
10
10
  ]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes