jettask 0.2.19__tar.gz → 0.2.20__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.20}/PKG-INFO +2 -71
  2. {jettask-0.2.19 → jettask-0.2.20}/jettask/__init__.py +10 -3
  3. {jettask-0.2.19 → jettask-0.2.20}/jettask/cli.py +314 -228
  4. jettask-0.2.20/jettask/config/__init__.py +15 -0
  5. jettask-0.2.20/jettask/config/config.py +245 -0
  6. jettask-0.2.20/jettask/config/env_loader.py +381 -0
  7. jettask-0.2.20/jettask/config/lua_scripts.py +158 -0
  8. {jettask-0.2.19 → jettask-0.2.20}/jettask/config/nacos_config.py +132 -5
  9. {jettask-0.2.19 → jettask-0.2.20}/jettask/core/__init__.py +1 -1
  10. jettask-0.2.20/jettask/core/app.py +2652 -0
  11. {jettask-0.2.19 → jettask-0.2.20}/jettask/core/app_importer.py +33 -16
  12. jettask-0.2.20/jettask/core/container.py +532 -0
  13. {jettask-0.2.19 → jettask-0.2.20}/jettask/core/task.py +1 -4
  14. {jettask-0.2.19 → jettask-0.2.20}/jettask/core/unified_manager_base.py +2 -2
  15. jettask-0.2.20/jettask/executor/__init__.py +38 -0
  16. jettask-0.2.20/jettask/executor/core.py +625 -0
  17. jettask-0.2.20/jettask/executor/executor.py +338 -0
  18. jettask-0.2.20/jettask/executor/orchestrator.py +290 -0
  19. jettask-0.2.20/jettask/executor/process_entry.py +638 -0
  20. jettask-0.2.20/jettask/executor/task_executor.py +317 -0
  21. jettask-0.2.20/jettask/messaging/__init__.py +68 -0
  22. jettask-0.2.20/jettask/messaging/event_pool.py +2188 -0
  23. jettask-0.2.20/jettask/messaging/reader.py +519 -0
  24. jettask-0.2.20/jettask/messaging/registry.py +266 -0
  25. jettask-0.2.20/jettask/messaging/scanner.py +369 -0
  26. jettask-0.2.20/jettask/messaging/sender.py +312 -0
  27. jettask-0.2.20/jettask/persistence/__init__.py +118 -0
  28. jettask-0.2.20/jettask/persistence/backlog_monitor.py +567 -0
  29. jettask-0.2.19/jettask/backend/data_access.py → jettask-0.2.20/jettask/persistence/base.py +58 -57
  30. jettask-0.2.20/jettask/persistence/consumer.py +315 -0
  31. {jettask-0.2.19/jettask/core → jettask-0.2.20/jettask/persistence}/db_manager.py +23 -22
  32. jettask-0.2.20/jettask/persistence/maintenance.py +81 -0
  33. jettask-0.2.20/jettask/persistence/message_consumer.py +259 -0
  34. jettask-0.2.19/jettask/backend/namespace_data_access.py → jettask-0.2.20/jettask/persistence/namespace.py +66 -98
  35. jettask-0.2.20/jettask/persistence/offline_recovery.py +196 -0
  36. jettask-0.2.20/jettask/persistence/queue_discovery.py +215 -0
  37. jettask-0.2.20/jettask/persistence/task_persistence.py +218 -0
  38. jettask-0.2.20/jettask/persistence/task_updater.py +583 -0
  39. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/__init__.py +2 -2
  40. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/loader.py +6 -5
  41. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/run_scheduler.py +1 -1
  42. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/scheduler.py +7 -7
  43. jettask-0.2.19/jettask/scheduler/unified_scheduler_manager.py → jettask-0.2.20/jettask/scheduler/scheduler_coordinator.py +18 -13
  44. jettask-0.2.20/jettask/task/__init__.py +16 -0
  45. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/task}/router.py +26 -8
  46. jettask-0.2.20/jettask/task/task_center/__init__.py +9 -0
  47. jettask-0.2.20/jettask/task/task_executor.py +318 -0
  48. jettask-0.2.20/jettask/task/task_registry.py +291 -0
  49. jettask-0.2.20/jettask/test_connection_monitor.py +73 -0
  50. jettask-0.2.20/jettask/utils/__init__.py +33 -0
  51. jettask-0.2.19/jettask/monitor/run_backlog_collector.py → jettask-0.2.20/jettask/utils/backlog_collector.py +1 -1
  52. jettask-0.2.20/jettask/utils/db_connector.py +1629 -0
  53. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/utils}/db_init.py +1 -1
  54. jettask-0.2.20/jettask/utils/rate_limit/__init__.py +30 -0
  55. jettask-0.2.20/jettask/utils/rate_limit/concurrency_limiter.py +665 -0
  56. jettask-0.2.20/jettask/utils/rate_limit/config.py +145 -0
  57. jettask-0.2.20/jettask/utils/rate_limit/limiter.py +41 -0
  58. jettask-0.2.20/jettask/utils/rate_limit/manager.py +269 -0
  59. jettask-0.2.20/jettask/utils/rate_limit/qps_limiter.py +154 -0
  60. jettask-0.2.20/jettask/utils/rate_limit/task_limiter.py +384 -0
  61. {jettask-0.2.19 → jettask-0.2.20}/jettask/utils/serializer.py +3 -0
  62. jettask-0.2.19/jettask/monitor/stream_backlog_monitor.py → jettask-0.2.20/jettask/utils/stream_backlog.py +14 -6
  63. jettask-0.2.20/jettask/utils/time_sync.py +173 -0
  64. jettask-0.2.20/jettask/webui/__init__.py +27 -0
  65. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.20/jettask/webui/api}/alerts.py +1 -1
  66. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.20/jettask/webui/api}/analytics.py +2 -2
  67. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.20/jettask/webui/api}/namespaces.py +1 -1
  68. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.20/jettask/webui/api}/overview.py +1 -1
  69. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.20/jettask/webui/api}/queues.py +3 -3
  70. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.20/jettask/webui/api}/scheduled.py +1 -1
  71. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.20/jettask/webui/api}/settings.py +1 -1
  72. jettask-0.2.19/jettask/api.py → jettask-0.2.20/jettask/webui/app.py +253 -145
  73. jettask-0.2.20/jettask/webui/namespace_manager/__init__.py +10 -0
  74. jettask-0.2.19/jettask/multi_namespace_consumer.py → jettask-0.2.20/jettask/webui/namespace_manager/multi.py +69 -22
  75. jettask-0.2.19/jettask/unified_consumer_manager.py → jettask-0.2.20/jettask/webui/namespace_manager/unified.py +1 -1
  76. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/webui}/run.py +2 -2
  77. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/webui}/services/__init__.py +1 -3
  78. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/webui}/services/overview_service.py +34 -16
  79. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/webui}/services/queue_service.py +1 -1
  80. {jettask-0.2.19/jettask/backend → jettask-0.2.20/jettask/webui/services}/queue_stats_v2.py +1 -1
  81. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/webui}/services/settings_service.py +1 -1
  82. jettask-0.2.20/jettask/worker/__init__.py +53 -0
  83. jettask-0.2.20/jettask/worker/lifecycle.py +1507 -0
  84. jettask-0.2.20/jettask/worker/manager.py +583 -0
  85. jettask-0.2.19/jettask/core/offline_worker_recovery.py → jettask-0.2.20/jettask/worker/recovery.py +268 -175
  86. {jettask-0.2.19 → jettask-0.2.20/jettask.egg-info}/PKG-INFO +2 -71
  87. jettask-0.2.20/jettask.egg-info/SOURCES.txt +148 -0
  88. {jettask-0.2.19 → jettask-0.2.20}/jettask.egg-info/requires.txt +1 -2
  89. {jettask-0.2.19 → jettask-0.2.20}/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.20}/LICENSE +0 -0
  145. {jettask-0.2.19 → jettask-0.2.20}/MANIFEST.in +0 -0
  146. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/config}/constants.py +0 -0
  147. {jettask-0.2.19 → jettask-0.2.20}/jettask/config/performance.py +0 -0
  148. /jettask-0.2.19/jettask/backend/config.py → /jettask-0.2.20/jettask/config/task_center.py +0 -0
  149. {jettask-0.2.19 → jettask-0.2.20}/jettask/core/context.py +0 -0
  150. {jettask-0.2.19 → jettask-0.2.20}/jettask/core/enums.py +0 -0
  151. {jettask-0.2.19 → jettask-0.2.20}/jettask/core/message.py +0 -0
  152. {jettask-0.2.19 → jettask-0.2.20}/jettask/core/retry.py +0 -0
  153. {jettask-0.2.19 → jettask-0.2.20}/jettask/exceptions.py +0 -0
  154. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/messaging}/pg_consumer/pg_consumer_v2.py +0 -0
  155. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/messaging}/pg_consumer/sql/add_execution_time_field.sql +0 -0
  156. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/messaging}/pg_consumer/sql/create_new_tables.sql +0 -0
  157. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/messaging}/pg_consumer/sql/create_tables_v3.sql +0 -0
  158. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/messaging}/pg_consumer/sql/migrate_to_new_structure.sql +0 -0
  159. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/messaging}/pg_consumer/sql/modify_time_fields.sql +0 -0
  160. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/messaging}/pg_consumer/sql_utils.py +0 -0
  161. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/persistence}/models.py +0 -0
  162. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/add_execution_count.sql +0 -0
  163. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/add_priority_field.sql +0 -0
  164. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/add_scheduler_id.sql +0 -0
  165. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/add_scheduler_id_index.sql +0 -0
  166. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/make_scheduler_id_required.sql +0 -0
  167. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/migrate_interval_seconds.sql +0 -0
  168. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/models.py +0 -0
  169. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/performance_optimization.sql +0 -0
  170. {jettask-0.2.19 → jettask-0.2.20}/jettask/scheduler/schema.sql +0 -0
  171. /jettask-0.2.19/jettask/scheduler/manager.py → /jettask-0.2.20/jettask/scheduler/task_crud.py +0 -0
  172. {jettask-0.2.19 → jettask-0.2.20}/jettask/schemas/__init__.py +0 -0
  173. {jettask-0.2.19 → jettask-0.2.20}/jettask/schemas/alert.py +0 -0
  174. {jettask-0.2.19 → jettask-0.2.20}/jettask/schemas/backlog.py +0 -0
  175. {jettask-0.2.19 → jettask-0.2.20}/jettask/schemas/common.py +0 -0
  176. {jettask-0.2.19 → jettask-0.2.20}/jettask/schemas/monitoring.py +0 -0
  177. {jettask-0.2.19 → jettask-0.2.20}/jettask/schemas/namespace.py +0 -0
  178. {jettask-0.2.19 → jettask-0.2.20}/jettask/schemas/queue.py +0 -0
  179. {jettask-0.2.19 → jettask-0.2.20}/jettask/schemas/scheduled_task.py +0 -0
  180. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/schemas}/schema.sql +0 -0
  181. {jettask-0.2.19 → jettask-0.2.20}/jettask/schemas/task.py +0 -0
  182. /jettask-0.2.19/jettask/task_center.py → /jettask-0.2.20/jettask/task/task_center/client.py +0 -0
  183. {jettask-0.2.19 → jettask-0.2.20}/jettask/utils/error_handler.py +0 -0
  184. {jettask-0.2.19 → jettask-0.2.20}/jettask/utils/exception_hook.py +0 -0
  185. {jettask-0.2.19/jettask/monitoring → jettask-0.2.20/jettask/utils}/file_watcher.py +0 -0
  186. {jettask-0.2.19 → jettask-0.2.20}/jettask/utils/helpers.py +0 -0
  187. {jettask-0.2.19 → jettask-0.2.20}/jettask/utils/logger.py +0 -0
  188. /jettask-0.2.19/jettask/services/redis_monitor_service.py → /jettask-0.2.20/jettask/utils/redis_monitor.py +0 -0
  189. {jettask-0.2.19 → jettask-0.2.20}/jettask/utils/task_logger.py +0 -0
  190. {jettask-0.2.19 → jettask-0.2.20}/jettask/utils/traceback_filter.py +0 -0
  191. {jettask-0.2.19/jettask/api/v1 → jettask-0.2.20/jettask/webui/api}/__init__.py +0 -0
  192. /jettask-0.2.19/jettask/webui_config.py → /jettask-0.2.20/jettask/webui/config.py +0 -0
  193. {jettask-0.2.19/jettask/webui_models → jettask-0.2.20/jettask/webui/models}/__init__.py +0 -0
  194. {jettask-0.2.19/jettask/webui_models → jettask-0.2.20/jettask/webui/models}/namespace.py +0 -0
  195. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/webui}/services/alert_service.py +0 -0
  196. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/webui}/services/analytics_service.py +0 -0
  197. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/webui}/services/scheduled_task_service.py +0 -0
  198. {jettask-0.2.19/jettask → jettask-0.2.20/jettask/webui}/services/task_service.py +0 -0
  199. {jettask-0.2.19/jettask/webui_sql → jettask-0.2.20/jettask/webui/sql}/batch_upsert_functions.sql +0 -0
  200. {jettask-0.2.19/jettask/webui_sql → jettask-0.2.20/jettask/webui/sql}/verify_database.sql +0 -0
  201. {jettask-0.2.19 → jettask-0.2.20}/jettask.egg-info/dependency_links.txt +0 -0
  202. {jettask-0.2.19 → jettask-0.2.20}/jettask.egg-info/entry_points.txt +0 -0
  203. {jettask-0.2.19 → jettask-0.2.20}/jettask.egg-info/top_level.txt +0 -0
  204. {jettask-0.2.19 → jettask-0.2.20}/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.20
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,15 @@ 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.task.task_center.client import TaskCenter
13
+ from jettask.task.router import TaskRouter
14
+
15
+ # Rate limit config imports
16
+ from jettask.utils.rate_limit.config import QPSLimit, ConcurrencyLimit
13
17
 
14
18
  # Import logger components from utils
15
19
  from jettask.utils.task_logger import (
16
- TaskContextFilter,
20
+ TaskContextFilter,
17
21
  ExtendedTextFormatter,
18
22
  LogContext
19
23
  )
@@ -63,8 +67,11 @@ def get_task_logger(name: str = None) -> logging.Logger:
63
67
  # Public API exports
64
68
  __all__ = [
65
69
  "Jettask",
66
- "TaskMessage",
70
+ "TaskMessage",
67
71
  "TaskCenter",
72
+ "TaskRouter",
73
+ "QPSLimit",
74
+ "ConcurrencyLimit",
68
75
  "get_task_logger",
69
76
  "LogContext",
70
77
  ]