jettask 0.2.19__tar.gz → 0.2.23__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 (204) hide show
  1. {jettask-0.2.19/jettask.egg-info → jettask-0.2.23}/PKG-INFO +2 -71
  2. {jettask-0.2.19 → jettask-0.2.23}/jettask/__init__.py +12 -3
  3. {jettask-0.2.19 → jettask-0.2.23}/jettask/cli.py +314 -228
  4. jettask-0.2.23/jettask/config/__init__.py +15 -0
  5. jettask-0.2.23/jettask/config/config.py +245 -0
  6. jettask-0.2.23/jettask/config/env_loader.py +381 -0
  7. jettask-0.2.23/jettask/config/lua_scripts.py +158 -0
  8. {jettask-0.2.19 → jettask-0.2.23}/jettask/config/nacos_config.py +132 -5
  9. {jettask-0.2.19 → jettask-0.2.23}/jettask/core/__init__.py +1 -1
  10. jettask-0.2.23/jettask/core/app.py +2652 -0
  11. {jettask-0.2.19 → jettask-0.2.23}/jettask/core/app_importer.py +33 -16
  12. jettask-0.2.23/jettask/core/container.py +532 -0
  13. {jettask-0.2.19 → jettask-0.2.23}/jettask/core/task.py +1 -4
  14. {jettask-0.2.19 → jettask-0.2.23}/jettask/core/unified_manager_base.py +2 -2
  15. jettask-0.2.23/jettask/executor/__init__.py +38 -0
  16. jettask-0.2.23/jettask/executor/core.py +625 -0
  17. jettask-0.2.23/jettask/executor/executor.py +338 -0
  18. jettask-0.2.23/jettask/executor/orchestrator.py +290 -0
  19. jettask-0.2.23/jettask/executor/process_entry.py +638 -0
  20. jettask-0.2.23/jettask/executor/task_executor.py +317 -0
  21. jettask-0.2.23/jettask/messaging/__init__.py +68 -0
  22. jettask-0.2.23/jettask/messaging/event_pool.py +2188 -0
  23. jettask-0.2.23/jettask/messaging/reader.py +519 -0
  24. jettask-0.2.23/jettask/messaging/registry.py +266 -0
  25. jettask-0.2.23/jettask/messaging/scanner.py +369 -0
  26. jettask-0.2.23/jettask/messaging/sender.py +312 -0
  27. jettask-0.2.23/jettask/persistence/__init__.py +118 -0
  28. jettask-0.2.23/jettask/persistence/backlog_monitor.py +567 -0
  29. jettask-0.2.19/jettask/backend/data_access.py → jettask-0.2.23/jettask/persistence/base.py +58 -57
  30. jettask-0.2.23/jettask/persistence/consumer.py +315 -0
  31. {jettask-0.2.19/jettask/core → jettask-0.2.23/jettask/persistence}/db_manager.py +23 -22
  32. jettask-0.2.23/jettask/persistence/maintenance.py +81 -0
  33. jettask-0.2.23/jettask/persistence/message_consumer.py +259 -0
  34. jettask-0.2.19/jettask/backend/namespace_data_access.py → jettask-0.2.23/jettask/persistence/namespace.py +66 -98
  35. jettask-0.2.23/jettask/persistence/offline_recovery.py +196 -0
  36. jettask-0.2.23/jettask/persistence/queue_discovery.py +215 -0
  37. jettask-0.2.23/jettask/persistence/task_persistence.py +218 -0
  38. jettask-0.2.23/jettask/persistence/task_updater.py +583 -0
  39. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/__init__.py +2 -2
  40. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/loader.py +6 -5
  41. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/run_scheduler.py +1 -1
  42. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/scheduler.py +7 -7
  43. jettask-0.2.19/jettask/scheduler/unified_scheduler_manager.py → jettask-0.2.23/jettask/scheduler/scheduler_coordinator.py +18 -13
  44. jettask-0.2.23/jettask/task/__init__.py +16 -0
  45. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/task}/router.py +26 -8
  46. jettask-0.2.23/jettask/task/task_center/__init__.py +9 -0
  47. jettask-0.2.23/jettask/task/task_executor.py +318 -0
  48. jettask-0.2.23/jettask/task/task_registry.py +291 -0
  49. jettask-0.2.23/jettask/test_connection_monitor.py +73 -0
  50. jettask-0.2.23/jettask/utils/__init__.py +33 -0
  51. jettask-0.2.19/jettask/monitor/run_backlog_collector.py → jettask-0.2.23/jettask/utils/backlog_collector.py +1 -1
  52. jettask-0.2.23/jettask/utils/db_connector.py +1629 -0
  53. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/utils}/db_init.py +1 -1
  54. jettask-0.2.23/jettask/utils/rate_limit/__init__.py +30 -0
  55. jettask-0.2.23/jettask/utils/rate_limit/concurrency_limiter.py +665 -0
  56. jettask-0.2.23/jettask/utils/rate_limit/config.py +145 -0
  57. jettask-0.2.23/jettask/utils/rate_limit/limiter.py +41 -0
  58. jettask-0.2.23/jettask/utils/rate_limit/manager.py +269 -0
  59. jettask-0.2.23/jettask/utils/rate_limit/qps_limiter.py +154 -0
  60. jettask-0.2.23/jettask/utils/rate_limit/task_limiter.py +384 -0
  61. {jettask-0.2.19 → jettask-0.2.23}/jettask/utils/serializer.py +3 -0
  62. jettask-0.2.19/jettask/monitor/stream_backlog_monitor.py → jettask-0.2.23/jettask/utils/stream_backlog.py +14 -6
  63. jettask-0.2.23/jettask/utils/time_sync.py +173 -0
  64. jettask-0.2.23/jettask/webui/__init__.py +27 -0
  65. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.23/jettask/webui/api}/alerts.py +1 -1
  66. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.23/jettask/webui/api}/analytics.py +2 -2
  67. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.23/jettask/webui/api}/namespaces.py +1 -1
  68. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.23/jettask/webui/api}/overview.py +1 -1
  69. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.23/jettask/webui/api}/queues.py +3 -3
  70. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.23/jettask/webui/api}/scheduled.py +1 -1
  71. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.23/jettask/webui/api}/settings.py +1 -1
  72. jettask-0.2.19/jettask/api.py → jettask-0.2.23/jettask/webui/app.py +253 -145
  73. jettask-0.2.23/jettask/webui/namespace_manager/__init__.py +10 -0
  74. jettask-0.2.19/jettask/multi_namespace_consumer.py → jettask-0.2.23/jettask/webui/namespace_manager/multi.py +69 -22
  75. jettask-0.2.19/jettask/unified_consumer_manager.py → jettask-0.2.23/jettask/webui/namespace_manager/unified.py +1 -1
  76. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/webui}/run.py +2 -2
  77. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/webui}/services/__init__.py +1 -3
  78. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/webui}/services/overview_service.py +34 -16
  79. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/webui}/services/queue_service.py +1 -1
  80. {jettask-0.2.19/jettask/backend → jettask-0.2.23/jettask/webui/services}/queue_stats_v2.py +1 -1
  81. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/webui}/services/settings_service.py +1 -1
  82. jettask-0.2.23/jettask/worker/__init__.py +53 -0
  83. jettask-0.2.23/jettask/worker/lifecycle.py +1507 -0
  84. jettask-0.2.23/jettask/worker/manager.py +583 -0
  85. jettask-0.2.19/jettask/core/offline_worker_recovery.py → jettask-0.2.23/jettask/worker/recovery.py +268 -175
  86. {jettask-0.2.19 → jettask-0.2.23/jettask.egg-info}/PKG-INFO +2 -71
  87. jettask-0.2.23/jettask.egg-info/SOURCES.txt +148 -0
  88. {jettask-0.2.19 → jettask-0.2.23}/jettask.egg-info/requires.txt +1 -2
  89. {jettask-0.2.19 → jettask-0.2.23}/pyproject.toml +2 -3
  90. jettask-0.2.19/README.md +0 -67
  91. jettask-0.2.19/jettask/__main__.py +0 -140
  92. jettask-0.2.19/jettask/api/__init__.py +0 -103
  93. jettask-0.2.19/jettask/backend/__init__.py +0 -1
  94. jettask-0.2.19/jettask/backend/api/__init__.py +0 -3
  95. jettask-0.2.19/jettask/backend/api/v1/__init__.py +0 -17
  96. jettask-0.2.19/jettask/backend/api/v1/monitoring.py +0 -431
  97. jettask-0.2.19/jettask/backend/api/v1/namespaces.py +0 -504
  98. jettask-0.2.19/jettask/backend/api/v1/queues.py +0 -342
  99. jettask-0.2.19/jettask/backend/api/v1/tasks.py +0 -367
  100. jettask-0.2.19/jettask/backend/core/__init__.py +0 -3
  101. jettask-0.2.19/jettask/backend/core/cache.py +0 -221
  102. jettask-0.2.19/jettask/backend/core/database.py +0 -200
  103. jettask-0.2.19/jettask/backend/core/exceptions.py +0 -102
  104. jettask-0.2.19/jettask/backend/dependencies.py +0 -261
  105. jettask-0.2.19/jettask/backend/init_meta_db.py +0 -158
  106. jettask-0.2.19/jettask/backend/main.py +0 -1426
  107. jettask-0.2.19/jettask/backend/main_unified.py +0 -78
  108. jettask-0.2.19/jettask/backend/main_v2.py +0 -394
  109. jettask-0.2.19/jettask/backend/models/__init__.py +0 -3
  110. jettask-0.2.19/jettask/backend/models/requests.py +0 -236
  111. jettask-0.2.19/jettask/backend/models/responses.py +0 -230
  112. jettask-0.2.19/jettask/backend/namespace_api_old.py +0 -267
  113. jettask-0.2.19/jettask/backend/services/__init__.py +0 -3
  114. jettask-0.2.19/jettask/backend/start.py +0 -42
  115. jettask-0.2.19/jettask/backend/unified_api_router.py +0 -1541
  116. jettask-0.2.19/jettask/cleanup_deprecated_tables.sql +0 -16
  117. jettask-0.2.19/jettask/config/__init__.py +0 -7
  118. jettask-0.2.19/jettask/core/app.py +0 -1745
  119. jettask-0.2.19/jettask/core/consumer_manager.py +0 -1695
  120. jettask-0.2.19/jettask/core/delay_scanner.py +0 -256
  121. jettask-0.2.19/jettask/core/event_pool.py +0 -1700
  122. jettask-0.2.19/jettask/core/heartbeat_process.py +0 -222
  123. jettask-0.2.19/jettask/core/task_batch.py +0 -153
  124. jettask-0.2.19/jettask/core/worker_scanner.py +0 -271
  125. jettask-0.2.19/jettask/executors/__init__.py +0 -5
  126. jettask-0.2.19/jettask/executors/asyncio.py +0 -876
  127. jettask-0.2.19/jettask/executors/base.py +0 -30
  128. jettask-0.2.19/jettask/executors/common.py +0 -148
  129. jettask-0.2.19/jettask/executors/multi_asyncio.py +0 -309
  130. jettask-0.2.19/jettask/gradio_app.py +0 -570
  131. jettask-0.2.19/jettask/integrated_gradio_app.py +0 -1088
  132. jettask-0.2.19/jettask/main.py +0 -0
  133. jettask-0.2.19/jettask/monitoring/__init__.py +0 -3
  134. jettask-0.2.19/jettask/pg_consumer.py +0 -1896
  135. jettask-0.2.19/jettask/run_monitor.py +0 -22
  136. jettask-0.2.19/jettask/run_webui.py +0 -148
  137. jettask-0.2.19/jettask/scheduler/multi_namespace_scheduler.py +0 -294
  138. jettask-0.2.19/jettask/scheduler/unified_manager.py +0 -450
  139. jettask-0.2.19/jettask/task_center_client.py +0 -150
  140. jettask-0.2.19/jettask/utils/__init__.py +0 -3
  141. jettask-0.2.19/jettask/utils/serializer_optimized.py +0 -33
  142. jettask-0.2.19/jettask/webui_exceptions.py +0 -67
  143. jettask-0.2.19/jettask.egg-info/SOURCES.txt +0 -154
  144. {jettask-0.2.19 → jettask-0.2.23}/LICENSE +0 -0
  145. {jettask-0.2.19 → jettask-0.2.23}/MANIFEST.in +0 -0
  146. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/config}/constants.py +0 -0
  147. {jettask-0.2.19 → jettask-0.2.23}/jettask/config/performance.py +0 -0
  148. /jettask-0.2.19/jettask/backend/config.py → /jettask-0.2.23/jettask/config/task_center.py +0 -0
  149. {jettask-0.2.19 → jettask-0.2.23}/jettask/core/context.py +0 -0
  150. {jettask-0.2.19 → jettask-0.2.23}/jettask/core/enums.py +0 -0
  151. {jettask-0.2.19 → jettask-0.2.23}/jettask/core/message.py +0 -0
  152. {jettask-0.2.19 → jettask-0.2.23}/jettask/core/retry.py +0 -0
  153. {jettask-0.2.19 → jettask-0.2.23}/jettask/exceptions.py +0 -0
  154. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/messaging}/pg_consumer/pg_consumer_v2.py +0 -0
  155. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/messaging}/pg_consumer/sql/add_execution_time_field.sql +0 -0
  156. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/messaging}/pg_consumer/sql/create_new_tables.sql +0 -0
  157. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/messaging}/pg_consumer/sql/create_tables_v3.sql +0 -0
  158. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/messaging}/pg_consumer/sql/migrate_to_new_structure.sql +0 -0
  159. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/messaging}/pg_consumer/sql/modify_time_fields.sql +0 -0
  160. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/messaging}/pg_consumer/sql_utils.py +0 -0
  161. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/persistence}/models.py +0 -0
  162. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/add_execution_count.sql +0 -0
  163. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/add_priority_field.sql +0 -0
  164. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/add_scheduler_id.sql +0 -0
  165. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/add_scheduler_id_index.sql +0 -0
  166. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/make_scheduler_id_required.sql +0 -0
  167. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/migrate_interval_seconds.sql +0 -0
  168. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/models.py +0 -0
  169. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/performance_optimization.sql +0 -0
  170. {jettask-0.2.19 → jettask-0.2.23}/jettask/scheduler/schema.sql +0 -0
  171. /jettask-0.2.19/jettask/scheduler/manager.py → /jettask-0.2.23/jettask/scheduler/task_crud.py +0 -0
  172. {jettask-0.2.19 → jettask-0.2.23}/jettask/schemas/__init__.py +0 -0
  173. {jettask-0.2.19 → jettask-0.2.23}/jettask/schemas/alert.py +0 -0
  174. {jettask-0.2.19 → jettask-0.2.23}/jettask/schemas/backlog.py +0 -0
  175. {jettask-0.2.19 → jettask-0.2.23}/jettask/schemas/common.py +0 -0
  176. {jettask-0.2.19 → jettask-0.2.23}/jettask/schemas/monitoring.py +0 -0
  177. {jettask-0.2.19 → jettask-0.2.23}/jettask/schemas/namespace.py +0 -0
  178. {jettask-0.2.19 → jettask-0.2.23}/jettask/schemas/queue.py +0 -0
  179. {jettask-0.2.19 → jettask-0.2.23}/jettask/schemas/scheduled_task.py +0 -0
  180. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/schemas}/schema.sql +0 -0
  181. {jettask-0.2.19 → jettask-0.2.23}/jettask/schemas/task.py +0 -0
  182. /jettask-0.2.19/jettask/task_center.py → /jettask-0.2.23/jettask/task/task_center/client.py +0 -0
  183. {jettask-0.2.19 → jettask-0.2.23}/jettask/utils/error_handler.py +0 -0
  184. {jettask-0.2.19 → jettask-0.2.23}/jettask/utils/exception_hook.py +0 -0
  185. {jettask-0.2.19/jettask/monitoring → jettask-0.2.23/jettask/utils}/file_watcher.py +0 -0
  186. {jettask-0.2.19 → jettask-0.2.23}/jettask/utils/helpers.py +0 -0
  187. {jettask-0.2.19 → jettask-0.2.23}/jettask/utils/logger.py +0 -0
  188. /jettask-0.2.19/jettask/services/redis_monitor_service.py → /jettask-0.2.23/jettask/utils/redis_monitor.py +0 -0
  189. {jettask-0.2.19 → jettask-0.2.23}/jettask/utils/task_logger.py +0 -0
  190. {jettask-0.2.19 → jettask-0.2.23}/jettask/utils/traceback_filter.py +0 -0
  191. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.23/jettask/webui/api}/__init__.py +0 -0
  192. /jettask-0.2.19/jettask/webui_config.py → /jettask-0.2.23/jettask/webui/config.py +0 -0
  193. {jettask-0.2.19/jettask/webui_models → jettask-0.2.23/jettask/webui/models}/__init__.py +0 -0
  194. {jettask-0.2.19/jettask/webui_models → jettask-0.2.23/jettask/webui/models}/namespace.py +0 -0
  195. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/webui}/services/alert_service.py +0 -0
  196. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/webui}/services/analytics_service.py +0 -0
  197. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/webui}/services/scheduled_task_service.py +0 -0
  198. {jettask-0.2.19/jettask → jettask-0.2.23/jettask/webui}/services/task_service.py +0 -0
  199. {jettask-0.2.19/jettask/webui_sql → jettask-0.2.23/jettask/webui/sql}/batch_upsert_functions.sql +0 -0
  200. {jettask-0.2.19/jettask/webui_sql → jettask-0.2.23/jettask/webui/sql}/verify_database.sql +0 -0
  201. {jettask-0.2.19 → jettask-0.2.23}/jettask.egg-info/dependency_links.txt +0 -0
  202. {jettask-0.2.19 → jettask-0.2.23}/jettask.egg-info/entry_points.txt +0 -0
  203. {jettask-0.2.19 → jettask-0.2.23}/jettask.egg-info/top_level.txt +0 -0
  204. {jettask-0.2.19 → jettask-0.2.23}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jettask
3
- Version: 0.2.19
3
+ Version: 0.2.23
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
@@ -20,8 +20,7 @@ Classifier: Operating System :: OS Independent
20
20
  Requires-Python: >=3.8
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
- Requires-Dist: redis>=4.5.0
24
- Requires-Dist: aioredis>=2.0.0
23
+ Requires-Dist: redis
25
24
  Requires-Dist: msgpack>=1.0.0
26
25
  Requires-Dist: watchdog>=3.0.0
27
26
  Requires-Dist: uvloop>=0.17.0
@@ -49,71 +48,3 @@ Requires-Dist: flake8>=6.0; extra == "dev"
49
48
  Requires-Dist: mypy>=1.4.0; extra == "dev"
50
49
  Requires-Dist: coverage>=7.0; extra == "dev"
51
50
  Dynamic: license-file
52
-
53
- # JetTask
54
-
55
- 一个高性能的分布式任务队列系统,支持Web监控界面。
56
-
57
- ## 特性
58
-
59
- - 🚀 高性能异步任务执行
60
- - 📊 实时Web监控界面
61
- - ⏰ 支持定时任务和延迟任务
62
- - 🔄 任务重试和错误处理
63
- - 🎯 多队列和优先级支持
64
- - 🌍 多命名空间隔离
65
- - 📈 任务统计和性能监控
66
- - 🔧 简单易用的API
67
-
68
- ## 安装
69
-
70
- ```bash
71
- pip install jettask
72
- ```
73
-
74
- ## 快速开始
75
-
76
- ### 1. 创建任务
77
-
78
- ```python
79
- from jettask import JetTask
80
-
81
- app = JetTask()
82
-
83
- @app.task(queue="default")
84
- async def hello_task(name):
85
- return f"Hello, {name}!"
86
- ```
87
-
88
- ### 2. 启动Worker
89
-
90
- ```bash
91
- jettask worker -a app:app --queues default
92
- ```
93
-
94
- ### 3. 发送任务
95
-
96
- ```python
97
- result = await hello_task.send("World")
98
- print(result) # Hello, World!
99
- ```
100
-
101
- ### 4. 启动Web监控界面
102
-
103
- ```bash
104
- # 启动API服务
105
- jettask api
106
-
107
- # 启动前端界面
108
- jettask frontend
109
- ```
110
-
111
- 然后访问 http://localhost:3000 查看监控界面。
112
-
113
- ## 文档
114
-
115
- 详细文档请参见 [docs/](docs/) 目录。
116
-
117
- ## 许可证
118
-
119
- MIT License
@@ -9,11 +9,16 @@ import inspect
9
9
  # Core class imports
10
10
  from jettask.core.app import Jettask
11
11
  from jettask.core.message import TaskMessage
12
- from jettask.task_center import TaskCenter
12
+ from jettask.core.context import TaskContext
13
+ from jettask.task.task_center.client import TaskCenter
14
+ from jettask.task.router import TaskRouter
15
+
16
+ # Rate limit config imports
17
+ from jettask.utils.rate_limit.config import QPSLimit, ConcurrencyLimit
13
18
 
14
19
  # Import logger components from utils
15
20
  from jettask.utils.task_logger import (
16
- TaskContextFilter,
21
+ TaskContextFilter,
17
22
  ExtendedTextFormatter,
18
23
  LogContext
19
24
  )
@@ -63,8 +68,12 @@ def get_task_logger(name: str = None) -> logging.Logger:
63
68
  # Public API exports
64
69
  __all__ = [
65
70
  "Jettask",
66
- "TaskMessage",
71
+ "TaskMessage",
67
72
  "TaskCenter",
73
+ "TaskRouter",
74
+ "QPSLimit",
75
+ "ConcurrencyLimit",
68
76
  "get_task_logger",
69
77
  "LogContext",
78
+ "TaskContext"
70
79
  ]