taskito 0.16.4__tar.gz → 0.17.0__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 (342) hide show
  1. {taskito-0.16.4 → taskito-0.17.0}/Cargo.lock +217 -35
  2. {taskito-0.16.4 → taskito-0.17.0}/PKG-INFO +2 -1
  3. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/Cargo.toml +1 -1
  4. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/diesel_common/dead_letter.rs +39 -0
  5. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/mod.rs +41 -0
  6. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/periodic.rs +32 -0
  7. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/dead_letter.rs +78 -0
  8. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/periodic.rs +88 -0
  9. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/periodic.rs +32 -0
  10. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/tests.rs +65 -0
  11. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/traits.rs +11 -0
  12. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/tests/rust/storage_tests.rs +85 -0
  13. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/Cargo.toml +1 -1
  14. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/inspection.rs +44 -0
  15. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/mod.rs +33 -0
  16. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/Cargo.toml +1 -1
  17. {taskito-0.16.4 → taskito-0.17.0}/pyproject.toml +2 -1
  18. {taskito-0.16.4 → taskito-0.17.0}/taskito/__init__.py +1 -1
  19. {taskito-0.16.4 → taskito-0.17.0}/taskito/_taskito.pyi +8 -0
  20. {taskito-0.16.4 → taskito-0.17.0}/Cargo.toml +0 -0
  21. {taskito-0.16.4 → taskito-0.17.0}/LICENSE +0 -0
  22. {taskito-0.16.4 → taskito-0.17.0}/README.md +0 -0
  23. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/BINDING_CONTRACT.md +0 -0
  24. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/error.rs +0 -0
  25. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/job.rs +0 -0
  26. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/lib.rs +0 -0
  27. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/periodic.rs +0 -0
  28. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/resilience/circuit_breaker.rs +0 -0
  29. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/resilience/dlq.rs +0 -0
  30. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/resilience/mod.rs +0 -0
  31. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/resilience/rate_limiter.rs +0 -0
  32. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/resilience/retry.rs +0 -0
  33. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/scheduler/maintenance.rs +0 -0
  34. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/scheduler/mod.rs +0 -0
  35. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/scheduler/poller.rs +0 -0
  36. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/scheduler/result_handler.rs +0 -0
  37. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/scheduler/wake.rs +0 -0
  38. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/diesel_common/archival.rs +0 -0
  39. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/diesel_common/jobs.rs +0 -0
  40. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/diesel_common/locks.rs +0 -0
  41. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/diesel_common/logs.rs +0 -0
  42. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/diesel_common/metrics.rs +0 -0
  43. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/diesel_common/migrations.rs +0 -0
  44. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/diesel_common/mod.rs +0 -0
  45. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/diesel_common/workers.rs +0 -0
  46. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/models.rs +0 -0
  47. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/notify.rs +0 -0
  48. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/archival.rs +0 -0
  49. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/circuit_breakers.rs +0 -0
  50. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/dashboard_settings.rs +0 -0
  51. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/dead_letter.rs +0 -0
  52. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/jobs.rs +0 -0
  53. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/listener.rs +0 -0
  54. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/locks.rs +0 -0
  55. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/logs.rs +0 -0
  56. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/metrics.rs +0 -0
  57. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/mod.rs +0 -0
  58. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/queue_state.rs +0 -0
  59. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/rate_limits.rs +0 -0
  60. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/trait_impl.rs +0 -0
  61. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/postgres/workers.rs +0 -0
  62. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/archival.rs +0 -0
  63. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/circuit_breakers.rs +0 -0
  64. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/dashboard_settings.rs +0 -0
  65. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/jobs/dequeue.rs +0 -0
  66. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/jobs/enqueue.rs +0 -0
  67. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/jobs/errors.rs +0 -0
  68. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/jobs/helpers.rs +0 -0
  69. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/jobs/maintenance.rs +0 -0
  70. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/jobs/mod.rs +0 -0
  71. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/jobs/query.rs +0 -0
  72. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/jobs/state.rs +0 -0
  73. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/listener.rs +0 -0
  74. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/locks.rs +0 -0
  75. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/logs.rs +0 -0
  76. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/metrics.rs +0 -0
  77. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/mod.rs +0 -0
  78. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/queue_state.rs +0 -0
  79. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/rate_limits.rs +0 -0
  80. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/trait_impl.rs +0 -0
  81. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/redis_backend/workers.rs +0 -0
  82. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/schema.rs +0 -0
  83. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/archival.rs +0 -0
  84. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/circuit_breakers.rs +0 -0
  85. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/dashboard_settings.rs +0 -0
  86. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/dead_letter.rs +0 -0
  87. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/jobs.rs +0 -0
  88. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/locks.rs +0 -0
  89. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/logs.rs +0 -0
  90. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/metrics.rs +0 -0
  91. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/mod.rs +0 -0
  92. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/queue_state.rs +0 -0
  93. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/rate_limits.rs +0 -0
  94. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/trait_impl.rs +0 -0
  95. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/storage/sqlite/workers.rs +0 -0
  96. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/src/worker.rs +0 -0
  97. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-core/tests/rust.rs +0 -0
  98. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/async_worker.rs +0 -0
  99. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/lib.rs +0 -0
  100. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/native_async/mod.rs +0 -0
  101. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/native_async/pool.rs +0 -0
  102. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/native_async/result_sender.rs +0 -0
  103. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/native_async/task_executor.rs +0 -0
  104. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/prefork/child.rs +0 -0
  105. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/prefork/dispatch.rs +0 -0
  106. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/prefork/mod.rs +0 -0
  107. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/prefork/protocol.rs +0 -0
  108. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/prefork/slot.rs +0 -0
  109. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/prefork/watchdog.rs +0 -0
  110. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_config.rs +0 -0
  111. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_job.rs +0 -0
  112. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/worker.rs +0 -0
  113. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/workflow_ops/fan_out.rs +0 -0
  114. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/workflow_ops/gates.rs +0 -0
  115. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/workflow_ops/lifecycle.rs +0 -0
  116. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/workflow_ops/mod.rs +0 -0
  117. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/workflow_ops/nodes.rs +0 -0
  118. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/workflow_ops/queries.rs +0 -0
  119. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/workflow_ops/saga.rs +0 -0
  120. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_queue/workflow_ops/test_helpers.rs +0 -0
  121. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_worker.rs +0 -0
  122. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-python/src/py_workflow/mod.rs +0 -0
  123. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/common.rs +0 -0
  124. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/definition.rs +0 -0
  125. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/diesel_common.rs +0 -0
  126. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/error.rs +0 -0
  127. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/lib.rs +0 -0
  128. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/node.rs +0 -0
  129. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/postgres_store.rs +0 -0
  130. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/redis_store.rs +0 -0
  131. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/run.rs +0 -0
  132. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/sqlite_store.rs +0 -0
  133. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/state.rs +0 -0
  134. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/storage.rs +0 -0
  135. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/tests.rs +0 -0
  136. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/src/topology.rs +0 -0
  137. {taskito-0.16.4 → taskito-0.17.0}/crates/taskito-workflows/tests/storage_contract.rs +0 -0
  138. {taskito-0.16.4 → taskito-0.17.0}/taskito/_active_context.py +0 -0
  139. {taskito-0.16.4 → taskito-0.17.0}/taskito/app.py +0 -0
  140. {taskito-0.16.4 → taskito-0.17.0}/taskito/async_support/__init__.py +0 -0
  141. {taskito-0.16.4 → taskito-0.17.0}/taskito/async_support/canvas.py +0 -0
  142. {taskito-0.16.4 → taskito-0.17.0}/taskito/async_support/context.py +0 -0
  143. {taskito-0.16.4 → taskito-0.17.0}/taskito/async_support/executor.py +0 -0
  144. {taskito-0.16.4 → taskito-0.17.0}/taskito/async_support/helpers.py +0 -0
  145. {taskito-0.16.4 → taskito-0.17.0}/taskito/async_support/locks.py +0 -0
  146. {taskito-0.16.4 → taskito-0.17.0}/taskito/async_support/mixins.py +0 -0
  147. {taskito-0.16.4 → taskito-0.17.0}/taskito/async_support/result.py +0 -0
  148. {taskito-0.16.4 → taskito-0.17.0}/taskito/autoscale/__init__.py +0 -0
  149. {taskito-0.16.4 → taskito-0.17.0}/taskito/autoscale/config.py +0 -0
  150. {taskito-0.16.4 → taskito-0.17.0}/taskito/autoscale/controller.py +0 -0
  151. {taskito-0.16.4 → taskito-0.17.0}/taskito/autoscale/process_manager.py +0 -0
  152. {taskito-0.16.4 → taskito-0.17.0}/taskito/batching/__init__.py +0 -0
  153. {taskito-0.16.4 → taskito-0.17.0}/taskito/batching/accumulator.py +0 -0
  154. {taskito-0.16.4 → taskito-0.17.0}/taskito/batching/config.py +0 -0
  155. {taskito-0.16.4 → taskito-0.17.0}/taskito/batching/item_result.py +0 -0
  156. {taskito-0.16.4 → taskito-0.17.0}/taskito/batching/result.py +0 -0
  157. {taskito-0.16.4 → taskito-0.17.0}/taskito/canvas.py +0 -0
  158. {taskito-0.16.4 → taskito-0.17.0}/taskito/cli.py +0 -0
  159. {taskito-0.16.4 → taskito-0.17.0}/taskito/context.py +0 -0
  160. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/__init__.py +0 -0
  161. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/__init__.py +0 -0
  162. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/admin.py +0 -0
  163. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/apps.py +0 -0
  164. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/management/__init__.py +0 -0
  165. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/management/commands/__init__.py +0 -0
  166. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/management/commands/taskito_dashboard.py +0 -0
  167. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/management/commands/taskito_info.py +0 -0
  168. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/management/commands/taskito_worker.py +0 -0
  169. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/settings.py +0 -0
  170. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/templates/taskito/admin/base.html +0 -0
  171. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/templates/taskito/admin/dashboard.html +0 -0
  172. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/templates/taskito/admin/dead_letters.html +0 -0
  173. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/templates/taskito/admin/job_detail.html +0 -0
  174. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/templates/taskito/admin/jobs.html +0 -0
  175. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/templatetags/__init__.py +0 -0
  176. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/django/templatetags/taskito_admin.py +0 -0
  177. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/fastapi.py +0 -0
  178. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/flask.py +0 -0
  179. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/otel.py +0 -0
  180. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/prometheus.py +0 -0
  181. {taskito-0.16.4 → taskito-0.17.0}/taskito/contrib/sentry.py +0 -0
  182. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/__init__.py +0 -0
  183. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/_testing.py +0 -0
  184. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/auth.py +0 -0
  185. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/delivery_store.py +0 -0
  186. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/errors.py +0 -0
  187. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/__init__.py +0 -0
  188. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/_qs.py +0 -0
  189. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/auth.py +0 -0
  190. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/dead_letters.py +0 -0
  191. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/jobs.py +0 -0
  192. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/logs.py +0 -0
  193. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/metrics.py +0 -0
  194. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/middleware.py +0 -0
  195. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/oauth.py +0 -0
  196. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/overrides.py +0 -0
  197. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/queues.py +0 -0
  198. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/scaler.py +0 -0
  199. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/settings.py +0 -0
  200. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/webhook_deliveries.py +0 -0
  201. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/webhooks.py +0 -0
  202. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/handlers/workflows.py +0 -0
  203. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/middleware_store.py +0 -0
  204. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/oauth/__init__.py +0 -0
  205. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/oauth/config.py +0 -0
  206. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/oauth/flow.py +0 -0
  207. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/oauth/identity.py +0 -0
  208. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/oauth/pkce.py +0 -0
  209. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/oauth/providers.py +0 -0
  210. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/oauth/state_store.py +0 -0
  211. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/overrides_store.py +0 -0
  212. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/request_context.py +0 -0
  213. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/routes.py +0 -0
  214. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/server.py +0 -0
  215. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/static.py +0 -0
  216. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/url_safety.py +0 -0
  217. {taskito-0.16.4 → taskito-0.17.0}/taskito/dashboard/webhook_store.py +0 -0
  218. {taskito-0.16.4 → taskito-0.17.0}/taskito/events.py +0 -0
  219. {taskito-0.16.4 → taskito-0.17.0}/taskito/exceptions.py +0 -0
  220. {taskito-0.16.4 → taskito-0.17.0}/taskito/health.py +0 -0
  221. {taskito-0.16.4 → taskito-0.17.0}/taskito/inject.py +0 -0
  222. {taskito-0.16.4 → taskito-0.17.0}/taskito/interception/__init__.py +0 -0
  223. {taskito-0.16.4 → taskito-0.17.0}/taskito/interception/built_in.py +0 -0
  224. {taskito-0.16.4 → taskito-0.17.0}/taskito/interception/converters.py +0 -0
  225. {taskito-0.16.4 → taskito-0.17.0}/taskito/interception/errors.py +0 -0
  226. {taskito-0.16.4 → taskito-0.17.0}/taskito/interception/interceptor.py +0 -0
  227. {taskito-0.16.4 → taskito-0.17.0}/taskito/interception/metrics.py +0 -0
  228. {taskito-0.16.4 → taskito-0.17.0}/taskito/interception/reconstruct.py +0 -0
  229. {taskito-0.16.4 → taskito-0.17.0}/taskito/interception/registry.py +0 -0
  230. {taskito-0.16.4 → taskito-0.17.0}/taskito/interception/strategy.py +0 -0
  231. {taskito-0.16.4 → taskito-0.17.0}/taskito/interception/walker.py +0 -0
  232. {taskito-0.16.4 → taskito-0.17.0}/taskito/locks.py +0 -0
  233. {taskito-0.16.4 → taskito-0.17.0}/taskito/log_config.py +0 -0
  234. {taskito-0.16.4 → taskito-0.17.0}/taskito/mesh.py +0 -0
  235. {taskito-0.16.4 → taskito-0.17.0}/taskito/middleware.py +0 -0
  236. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/__init__.py +0 -0
  237. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/_shared.py +0 -0
  238. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/decorators.py +0 -0
  239. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/events.py +0 -0
  240. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/inspection.py +0 -0
  241. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/lifecycle.py +0 -0
  242. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/locks.py +0 -0
  243. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/middleware_admin.py +0 -0
  244. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/operations.py +0 -0
  245. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/overrides.py +0 -0
  246. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/predicates.py +0 -0
  247. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/resources.py +0 -0
  248. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/runtime_config.py +0 -0
  249. {taskito-0.16.4 → taskito-0.17.0}/taskito/mixins/settings.py +0 -0
  250. {taskito-0.16.4 → taskito-0.17.0}/taskito/notes.py +0 -0
  251. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/__init__.py +0 -0
  252. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/context.py +0 -0
  253. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/core.py +0 -0
  254. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/evaluate.py +0 -0
  255. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/metrics.py +0 -0
  256. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/outcomes.py +0 -0
  257. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/parser.py +0 -0
  258. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/providers.py +0 -0
  259. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/recipes/__init__.py +0 -0
  260. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/recipes/attributes.py +0 -0
  261. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/recipes/config.py +0 -0
  262. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/recipes/system.py +0 -0
  263. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/recipes/time.py +0 -0
  264. {taskito-0.16.4 → taskito-0.17.0}/taskito/predicates/registry.py +0 -0
  265. {taskito-0.16.4 → taskito-0.17.0}/taskito/prefork/__init__.py +0 -0
  266. {taskito-0.16.4 → taskito-0.17.0}/taskito/prefork/__main__.py +0 -0
  267. {taskito-0.16.4 → taskito-0.17.0}/taskito/prefork/child.py +0 -0
  268. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/__init__.py +0 -0
  269. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/built_in.py +0 -0
  270. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/handler.py +0 -0
  271. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/handlers/__init__.py +0 -0
  272. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/handlers/boto3_client.py +0 -0
  273. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/handlers/file.py +0 -0
  274. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/handlers/gcs_client.py +0 -0
  275. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/handlers/httpx_client.py +0 -0
  276. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/handlers/logger.py +0 -0
  277. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/handlers/requests_session.py +0 -0
  278. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/metrics.py +0 -0
  279. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/no_proxy.py +0 -0
  280. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/reconstruct.py +0 -0
  281. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/registry.py +0 -0
  282. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/schema.py +0 -0
  283. {taskito-0.16.4 → taskito-0.17.0}/taskito/proxies/signing.py +0 -0
  284. {taskito-0.16.4 → taskito-0.17.0}/taskito/py.typed +0 -0
  285. {taskito-0.16.4 → taskito-0.17.0}/taskito/resources/__init__.py +0 -0
  286. {taskito-0.16.4 → taskito-0.17.0}/taskito/resources/definition.py +0 -0
  287. {taskito-0.16.4 → taskito-0.17.0}/taskito/resources/frozen.py +0 -0
  288. {taskito-0.16.4 → taskito-0.17.0}/taskito/resources/graph.py +0 -0
  289. {taskito-0.16.4 → taskito-0.17.0}/taskito/resources/health.py +0 -0
  290. {taskito-0.16.4 → taskito-0.17.0}/taskito/resources/pool.py +0 -0
  291. {taskito-0.16.4 → taskito-0.17.0}/taskito/resources/runtime.py +0 -0
  292. {taskito-0.16.4 → taskito-0.17.0}/taskito/resources/thread_local.py +0 -0
  293. {taskito-0.16.4 → taskito-0.17.0}/taskito/resources/toml_config.py +0 -0
  294. {taskito-0.16.4 → taskito-0.17.0}/taskito/result.py +0 -0
  295. {taskito-0.16.4 → taskito-0.17.0}/taskito/scaler.py +0 -0
  296. {taskito-0.16.4 → taskito-0.17.0}/taskito/serializers.py +0 -0
  297. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  298. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  299. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  300. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  301. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2 +0 -0
  302. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff +0 -0
  303. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
  304. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
  305. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
  306. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
  307. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
  308. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
  309. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-serif-latin-500-normal-C3_OdgN3.woff +0 -0
  310. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-serif-latin-500-normal-REKAfBVG.woff2 +0 -0
  311. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-serif-latin-600-normal-D3rpGdkS.woff +0 -0
  312. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/ibm-plex-serif-latin-600-normal-DAxitmSu.woff2 +0 -0
  313. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/index-CDFUchyu.js +0 -0
  314. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/index-CM8gBS-q.css +0 -0
  315. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/logs.lazy-BFbH9caD.js +0 -0
  316. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/assets/metrics.lazy-CgfKykLV.js +0 -0
  317. {taskito-0.16.4 → taskito-0.17.0}/taskito/static/dashboard/index.html +0 -0
  318. {taskito-0.16.4 → taskito-0.17.0}/taskito/task.py +0 -0
  319. {taskito-0.16.4 → taskito-0.17.0}/taskito/testing.py +0 -0
  320. {taskito-0.16.4 → taskito-0.17.0}/taskito/webhooks.py +0 -0
  321. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/__init__.py +0 -0
  322. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/analysis.py +0 -0
  323. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/builder.py +0 -0
  324. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/context.py +0 -0
  325. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/fan_out.py +0 -0
  326. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/incremental.py +0 -0
  327. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/mixins.py +0 -0
  328. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/run.py +0 -0
  329. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/saga/__init__.py +0 -0
  330. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/saga/context.py +0 -0
  331. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/saga/orchestrator.py +0 -0
  332. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/tracker/__init__.py +0 -0
  333. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/tracker/dag.py +0 -0
  334. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/tracker/event_routing.py +0 -0
  335. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/tracker/fan_out.py +0 -0
  336. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/tracker/finalization.py +0 -0
  337. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/tracker/gates.py +0 -0
  338. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/tracker/sub_workflows.py +0 -0
  339. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/tracker/tracker.py +0 -0
  340. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/tracker/types.py +0 -0
  341. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/types.py +0 -0
  342. {taskito-0.16.4 → taskito-0.17.0}/taskito/workflows/visualization.py +0 -0
@@ -120,6 +120,12 @@ dependencies = [
120
120
  "shlex",
121
121
  ]
122
122
 
123
+ [[package]]
124
+ name = "cesu8"
125
+ version = "1.1.0"
126
+ source = "registry+https://github.com/rust-lang/crates.io-index"
127
+ checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
128
+
123
129
  [[package]]
124
130
  name = "cfg-if"
125
131
  version = "1.0.4"
@@ -139,9 +145,9 @@ dependencies = [
139
145
 
140
146
  [[package]]
141
147
  name = "chrono"
142
- version = "0.4.44"
148
+ version = "0.4.45"
143
149
  source = "registry+https://github.com/rust-lang/crates.io-index"
144
- checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0"
150
+ checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
145
151
  dependencies = [
146
152
  "iana-time-zone",
147
153
  "js-sys",
@@ -243,7 +249,7 @@ dependencies = [
243
249
  "regex",
244
250
  "serde",
245
251
  "serde_json",
246
- "thiserror",
252
+ "thiserror 2.0.18",
247
253
  ]
248
254
 
249
255
  [[package]]
@@ -292,9 +298,9 @@ dependencies = [
292
298
 
293
299
  [[package]]
294
300
  name = "diesel"
295
- version = "2.3.8"
301
+ version = "2.3.10"
296
302
  source = "registry+https://github.com/rust-lang/crates.io-index"
297
- checksum = "78df0e4e8c596662edb07fbfbb7f23769cca35049827df5f909084d956b6aeaf"
303
+ checksum = "29fe29a87fb84c631ffb3ba21798c4b1f3a964701ba78f0dce4bf8668562ec88"
298
304
  dependencies = [
299
305
  "bitflags",
300
306
  "byteorder",
@@ -653,6 +659,50 @@ version = "1.0.17"
653
659
  source = "registry+https://github.com/rust-lang/crates.io-index"
654
660
  checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
655
661
 
662
+ [[package]]
663
+ name = "jni"
664
+ version = "0.21.1"
665
+ source = "registry+https://github.com/rust-lang/crates.io-index"
666
+ checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97"
667
+ dependencies = [
668
+ "cesu8",
669
+ "cfg-if",
670
+ "combine",
671
+ "jni-sys 0.3.1",
672
+ "log",
673
+ "thiserror 1.0.69",
674
+ "walkdir",
675
+ "windows-sys 0.45.0",
676
+ ]
677
+
678
+ [[package]]
679
+ name = "jni-sys"
680
+ version = "0.3.1"
681
+ source = "registry+https://github.com/rust-lang/crates.io-index"
682
+ checksum = "41a652e1f9b6e0275df1f15b32661cf0d4b78d4d87ddec5e0c3c20f097433258"
683
+ dependencies = [
684
+ "jni-sys 0.4.1",
685
+ ]
686
+
687
+ [[package]]
688
+ name = "jni-sys"
689
+ version = "0.4.1"
690
+ source = "registry+https://github.com/rust-lang/crates.io-index"
691
+ checksum = "c6377a88cb3910bee9b0fa88d4f42e1d2da8e79915598f65fb0c7ee14c878af2"
692
+ dependencies = [
693
+ "jni-sys-macros",
694
+ ]
695
+
696
+ [[package]]
697
+ name = "jni-sys-macros"
698
+ version = "0.4.1"
699
+ source = "registry+https://github.com/rust-lang/crates.io-index"
700
+ checksum = "38c0b942f458fe50cdac086d2f946512305e5631e720728f2a61aabcd47a6264"
701
+ dependencies = [
702
+ "quote",
703
+ "syn",
704
+ ]
705
+
656
706
  [[package]]
657
707
  name = "js-sys"
658
708
  version = "0.3.88"
@@ -719,9 +769,9 @@ dependencies = [
719
769
 
720
770
  [[package]]
721
771
  name = "log"
722
- version = "0.4.29"
772
+ version = "0.4.33"
723
773
  source = "registry+https://github.com/rust-lang/crates.io-index"
724
- checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
774
+ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
725
775
 
726
776
  [[package]]
727
777
  name = "memchr"
@@ -858,9 +908,9 @@ dependencies = [
858
908
 
859
909
  [[package]]
860
910
  name = "openssl-sys"
861
- version = "0.9.111"
911
+ version = "0.9.117"
862
912
  source = "registry+https://github.com/rust-lang/crates.io-index"
863
- checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321"
913
+ checksum = "b47e7e6bb2c38cd930d25a23b40fa52e068c10e85f3e03a7f5ba5aaca5713695"
864
914
  dependencies = [
865
915
  "cc",
866
916
  "libc",
@@ -1171,9 +1221,9 @@ checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69"
1171
1221
 
1172
1222
  [[package]]
1173
1223
  name = "redis"
1174
- version = "1.2.0"
1224
+ version = "1.2.4"
1175
1225
  source = "registry+https://github.com/rust-lang/crates.io-index"
1176
- checksum = "f44e94c96d8870a387d88ce3de3fdd608cbfc0705f03cb343cdde91509d3e49a"
1226
+ checksum = "bae41a63fd0b8a5372f82b21e810e09a316f5dd7efd96bf08e678fb240fc1918"
1177
1227
  dependencies = [
1178
1228
  "arcstr",
1179
1229
  "combine",
@@ -1232,7 +1282,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1232
1282
  checksum = "a8a1f2315036ef6b1fbacd1972e8ee7688030b0a2121edfc2a6550febd41574d"
1233
1283
  dependencies = [
1234
1284
  "hashbrown 0.16.1",
1235
- "thiserror",
1285
+ "thiserror 2.0.18",
1236
1286
  ]
1237
1287
 
1238
1288
  [[package]]
@@ -1260,6 +1310,15 @@ version = "1.0.23"
1260
1310
  source = "registry+https://github.com/rust-lang/crates.io-index"
1261
1311
  checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
1262
1312
 
1313
+ [[package]]
1314
+ name = "same-file"
1315
+ version = "1.0.6"
1316
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1317
+ checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
1318
+ dependencies = [
1319
+ "winapi-util",
1320
+ ]
1321
+
1263
1322
  [[package]]
1264
1323
  name = "scheduled-thread-pool"
1265
1324
  version = "0.2.7"
@@ -1313,9 +1372,9 @@ dependencies = [
1313
1372
 
1314
1373
  [[package]]
1315
1374
  name = "serde_json"
1316
- version = "1.0.149"
1375
+ version = "1.0.150"
1317
1376
  source = "registry+https://github.com/rust-lang/crates.io-index"
1318
- checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
1377
+ checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
1319
1378
  dependencies = [
1320
1379
  "itoa",
1321
1380
  "memchr",
@@ -1422,7 +1481,7 @@ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
1422
1481
 
1423
1482
  [[package]]
1424
1483
  name = "taskito-core"
1425
- version = "0.16.4"
1484
+ version = "0.17.0"
1426
1485
  dependencies = [
1427
1486
  "async-trait",
1428
1487
  "chrono",
@@ -1439,14 +1498,32 @@ dependencies = [
1439
1498
  "serde",
1440
1499
  "serde_json",
1441
1500
  "tempfile",
1442
- "thiserror",
1501
+ "thiserror 2.0.18",
1502
+ "tokio",
1503
+ "uuid",
1504
+ ]
1505
+
1506
+ [[package]]
1507
+ name = "taskito-java"
1508
+ version = "0.17.0"
1509
+ dependencies = [
1510
+ "async-trait",
1511
+ "crossbeam-channel",
1512
+ "gethostname",
1513
+ "jni",
1514
+ "log",
1515
+ "once_cell",
1516
+ "serde",
1517
+ "serde_json",
1518
+ "taskito-core",
1519
+ "taskito-workflows",
1443
1520
  "tokio",
1444
1521
  "uuid",
1445
1522
  ]
1446
1523
 
1447
1524
  [[package]]
1448
1525
  name = "taskito-mesh"
1449
- version = "0.16.4"
1526
+ version = "0.17.0"
1450
1527
  dependencies = [
1451
1528
  "base64",
1452
1529
  "bincode",
@@ -1461,7 +1538,7 @@ dependencies = [
1461
1538
 
1462
1539
  [[package]]
1463
1540
  name = "taskito-node"
1464
- version = "0.16.4"
1541
+ version = "0.17.0"
1465
1542
  dependencies = [
1466
1543
  "async-trait",
1467
1544
  "crossbeam-channel",
@@ -1480,7 +1557,7 @@ dependencies = [
1480
1557
 
1481
1558
  [[package]]
1482
1559
  name = "taskito-python"
1483
- version = "0.16.4"
1560
+ version = "0.17.0"
1484
1561
  dependencies = [
1485
1562
  "async-trait",
1486
1563
  "base64",
@@ -1500,7 +1577,7 @@ dependencies = [
1500
1577
 
1501
1578
  [[package]]
1502
1579
  name = "taskito-workflows"
1503
- version = "0.16.4"
1580
+ version = "0.17.0"
1504
1581
  dependencies = [
1505
1582
  "dagron-core",
1506
1583
  "diesel",
@@ -1514,9 +1591,9 @@ dependencies = [
1514
1591
 
1515
1592
  [[package]]
1516
1593
  name = "tempfile"
1517
- version = "3.25.0"
1594
+ version = "3.27.0"
1518
1595
  source = "registry+https://github.com/rust-lang/crates.io-index"
1519
- checksum = "0136791f7c95b1f6dd99f9cc786b91bb81c3800b639b3478e561ddb7be95e5f1"
1596
+ checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
1520
1597
  dependencies = [
1521
1598
  "fastrand",
1522
1599
  "getrandom 0.4.1",
@@ -1525,13 +1602,33 @@ dependencies = [
1525
1602
  "windows-sys 0.61.2",
1526
1603
  ]
1527
1604
 
1605
+ [[package]]
1606
+ name = "thiserror"
1607
+ version = "1.0.69"
1608
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1609
+ checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
1610
+ dependencies = [
1611
+ "thiserror-impl 1.0.69",
1612
+ ]
1613
+
1528
1614
  [[package]]
1529
1615
  name = "thiserror"
1530
1616
  version = "2.0.18"
1531
1617
  source = "registry+https://github.com/rust-lang/crates.io-index"
1532
1618
  checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
1533
1619
  dependencies = [
1534
- "thiserror-impl",
1620
+ "thiserror-impl 2.0.18",
1621
+ ]
1622
+
1623
+ [[package]]
1624
+ name = "thiserror-impl"
1625
+ version = "1.0.69"
1626
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1627
+ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
1628
+ dependencies = [
1629
+ "proc-macro2",
1630
+ "quote",
1631
+ "syn",
1535
1632
  ]
1536
1633
 
1537
1634
  [[package]]
@@ -1588,9 +1685,9 @@ dependencies = [
1588
1685
 
1589
1686
  [[package]]
1590
1687
  name = "tokio"
1591
- version = "1.49.0"
1688
+ version = "1.50.0"
1592
1689
  source = "registry+https://github.com/rust-lang/crates.io-index"
1593
- checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86"
1690
+ checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d"
1594
1691
  dependencies = [
1595
1692
  "bytes",
1596
1693
  "libc",
@@ -1652,9 +1749,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
1652
1749
 
1653
1750
  [[package]]
1654
1751
  name = "uuid"
1655
- version = "1.21.0"
1752
+ version = "1.23.3"
1656
1753
  source = "registry+https://github.com/rust-lang/crates.io-index"
1657
- checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb"
1754
+ checksum = "144d6b123cef80b301b8f72a9e2ca4370ddec21950d0a103dd22c437006d2db7"
1658
1755
  dependencies = [
1659
1756
  "getrandom 0.4.1",
1660
1757
  "js-sys",
@@ -1673,6 +1770,16 @@ version = "0.9.5"
1673
1770
  source = "registry+https://github.com/rust-lang/crates.io-index"
1674
1771
  checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
1675
1772
 
1773
+ [[package]]
1774
+ name = "walkdir"
1775
+ version = "2.5.0"
1776
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1777
+ checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
1778
+ dependencies = [
1779
+ "same-file",
1780
+ "winapi-util",
1781
+ ]
1782
+
1676
1783
  [[package]]
1677
1784
  name = "wasi"
1678
1785
  version = "0.11.1+wasi-snapshot-preview1"
@@ -1776,6 +1883,15 @@ dependencies = [
1776
1883
  "semver",
1777
1884
  ]
1778
1885
 
1886
+ [[package]]
1887
+ name = "winapi-util"
1888
+ version = "0.1.11"
1889
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1890
+ checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
1891
+ dependencies = [
1892
+ "windows-sys 0.61.2",
1893
+ ]
1894
+
1779
1895
  [[package]]
1780
1896
  name = "windows-core"
1781
1897
  version = "0.62.2"
@@ -1835,13 +1951,22 @@ dependencies = [
1835
1951
  "windows-link",
1836
1952
  ]
1837
1953
 
1954
+ [[package]]
1955
+ name = "windows-sys"
1956
+ version = "0.45.0"
1957
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1958
+ checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
1959
+ dependencies = [
1960
+ "windows-targets 0.42.2",
1961
+ ]
1962
+
1838
1963
  [[package]]
1839
1964
  name = "windows-sys"
1840
1965
  version = "0.60.2"
1841
1966
  source = "registry+https://github.com/rust-lang/crates.io-index"
1842
1967
  checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
1843
1968
  dependencies = [
1844
- "windows-targets",
1969
+ "windows-targets 0.53.5",
1845
1970
  ]
1846
1971
 
1847
1972
  [[package]]
@@ -1853,6 +1978,21 @@ dependencies = [
1853
1978
  "windows-link",
1854
1979
  ]
1855
1980
 
1981
+ [[package]]
1982
+ name = "windows-targets"
1983
+ version = "0.42.2"
1984
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1985
+ checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
1986
+ dependencies = [
1987
+ "windows_aarch64_gnullvm 0.42.2",
1988
+ "windows_aarch64_msvc 0.42.2",
1989
+ "windows_i686_gnu 0.42.2",
1990
+ "windows_i686_msvc 0.42.2",
1991
+ "windows_x86_64_gnu 0.42.2",
1992
+ "windows_x86_64_gnullvm 0.42.2",
1993
+ "windows_x86_64_msvc 0.42.2",
1994
+ ]
1995
+
1856
1996
  [[package]]
1857
1997
  name = "windows-targets"
1858
1998
  version = "0.53.5"
@@ -1860,28 +2000,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1860
2000
  checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
1861
2001
  dependencies = [
1862
2002
  "windows-link",
1863
- "windows_aarch64_gnullvm",
1864
- "windows_aarch64_msvc",
1865
- "windows_i686_gnu",
2003
+ "windows_aarch64_gnullvm 0.53.1",
2004
+ "windows_aarch64_msvc 0.53.1",
2005
+ "windows_i686_gnu 0.53.1",
1866
2006
  "windows_i686_gnullvm",
1867
- "windows_i686_msvc",
1868
- "windows_x86_64_gnu",
1869
- "windows_x86_64_gnullvm",
1870
- "windows_x86_64_msvc",
2007
+ "windows_i686_msvc 0.53.1",
2008
+ "windows_x86_64_gnu 0.53.1",
2009
+ "windows_x86_64_gnullvm 0.53.1",
2010
+ "windows_x86_64_msvc 0.53.1",
1871
2011
  ]
1872
2012
 
2013
+ [[package]]
2014
+ name = "windows_aarch64_gnullvm"
2015
+ version = "0.42.2"
2016
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2017
+ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
2018
+
1873
2019
  [[package]]
1874
2020
  name = "windows_aarch64_gnullvm"
1875
2021
  version = "0.53.1"
1876
2022
  source = "registry+https://github.com/rust-lang/crates.io-index"
1877
2023
  checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
1878
2024
 
2025
+ [[package]]
2026
+ name = "windows_aarch64_msvc"
2027
+ version = "0.42.2"
2028
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2029
+ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
2030
+
1879
2031
  [[package]]
1880
2032
  name = "windows_aarch64_msvc"
1881
2033
  version = "0.53.1"
1882
2034
  source = "registry+https://github.com/rust-lang/crates.io-index"
1883
2035
  checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
1884
2036
 
2037
+ [[package]]
2038
+ name = "windows_i686_gnu"
2039
+ version = "0.42.2"
2040
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2041
+ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
2042
+
1885
2043
  [[package]]
1886
2044
  name = "windows_i686_gnu"
1887
2045
  version = "0.53.1"
@@ -1894,24 +2052,48 @@ version = "0.53.1"
1894
2052
  source = "registry+https://github.com/rust-lang/crates.io-index"
1895
2053
  checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
1896
2054
 
2055
+ [[package]]
2056
+ name = "windows_i686_msvc"
2057
+ version = "0.42.2"
2058
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2059
+ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
2060
+
1897
2061
  [[package]]
1898
2062
  name = "windows_i686_msvc"
1899
2063
  version = "0.53.1"
1900
2064
  source = "registry+https://github.com/rust-lang/crates.io-index"
1901
2065
  checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
1902
2066
 
2067
+ [[package]]
2068
+ name = "windows_x86_64_gnu"
2069
+ version = "0.42.2"
2070
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2071
+ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
2072
+
1903
2073
  [[package]]
1904
2074
  name = "windows_x86_64_gnu"
1905
2075
  version = "0.53.1"
1906
2076
  source = "registry+https://github.com/rust-lang/crates.io-index"
1907
2077
  checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
1908
2078
 
2079
+ [[package]]
2080
+ name = "windows_x86_64_gnullvm"
2081
+ version = "0.42.2"
2082
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2083
+ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
2084
+
1909
2085
  [[package]]
1910
2086
  name = "windows_x86_64_gnullvm"
1911
2087
  version = "0.53.1"
1912
2088
  source = "registry+https://github.com/rust-lang/crates.io-index"
1913
2089
  checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
1914
2090
 
2091
+ [[package]]
2092
+ name = "windows_x86_64_msvc"
2093
+ version = "0.42.2"
2094
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2095
+ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
2096
+
1915
2097
  [[package]]
1916
2098
  name = "windows_x86_64_msvc"
1917
2099
  version = "0.53.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: taskito
3
- Version: 0.16.4
3
+ Version: 0.17.0
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -9,6 +9,7 @@ Classifier: Programming Language :: Python :: 3.10
9
9
  Classifier: Programming Language :: Python :: 3.11
10
10
  Classifier: Programming Language :: Python :: 3.12
11
11
  Classifier: Programming Language :: Python :: 3.13
12
+ Classifier: Programming Language :: Python :: 3.14
12
13
  Classifier: Programming Language :: Rust
13
14
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
14
15
  Classifier: Topic :: System :: Distributed Computing
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "taskito-core"
3
- version = "0.16.4"
3
+ version = "0.17.0"
4
4
  edition = "2021"
5
5
 
6
6
  [features]
@@ -93,6 +93,45 @@ macro_rules! impl_diesel_dead_letter_ops {
93
93
  Ok(rows.into_iter().map(DeadJob::from).collect())
94
94
  }
95
95
 
96
+ /// List dead letter entries for a single task, newest first.
97
+ pub fn list_dead_by_task(
98
+ &self,
99
+ task_name: &str,
100
+ limit: i64,
101
+ offset: i64,
102
+ ) -> Result<Vec<DeadJob>> {
103
+ // Normalize pagination so every backend agrees: a non-positive
104
+ // limit yields no page (matches Redis), and offset never goes
105
+ // negative.
106
+ if limit <= 0 {
107
+ return Ok(Vec::new());
108
+ }
109
+ let offset = offset.max(0);
110
+
111
+ let mut conn = self.conn()?;
112
+
113
+ let rows: Vec<DeadLetterRow> = dead_letter::table
114
+ .filter(dead_letter::task_name.eq(task_name))
115
+ .order(dead_letter::failed_at.desc())
116
+ .limit(limit)
117
+ .offset(offset)
118
+ .select(DeadLetterRow::as_select())
119
+ .load(&mut conn)?;
120
+
121
+ Ok(rows.into_iter().map(DeadJob::from).collect())
122
+ }
123
+
124
+ /// Delete every dead letter entry for a task. Returns the count removed.
125
+ pub fn purge_dead_by_task(&self, task_name: &str) -> Result<u64> {
126
+ let mut conn = self.conn()?;
127
+
128
+ let affected =
129
+ diesel::delete(dead_letter::table.filter(dead_letter::task_name.eq(task_name)))
130
+ .execute(&mut conn)?;
131
+
132
+ Ok(affected as u64)
133
+ }
134
+
96
135
  /// Re-enqueue a dead letter job. Returns the new job ID.
97
136
  ///
98
137
  /// Returns `JobNotFound` only when the dead-letter row is absent or
@@ -244,6 +244,17 @@ macro_rules! impl_storage {
244
244
  ) -> $crate::error::Result<Vec<$crate::storage::DeadJob>> {
245
245
  self.list_dead(limit, offset)
246
246
  }
247
+ fn list_dead_by_task(
248
+ &self,
249
+ task_name: &str,
250
+ limit: i64,
251
+ offset: i64,
252
+ ) -> $crate::error::Result<Vec<$crate::storage::DeadJob>> {
253
+ self.list_dead_by_task(task_name, limit, offset)
254
+ }
255
+ fn purge_dead_by_task(&self, task_name: &str) -> $crate::error::Result<u64> {
256
+ self.purge_dead_by_task(task_name)
257
+ }
247
258
  fn retry_dead(&self, dead_id: &str) -> $crate::error::Result<String> {
248
259
  self.retry_dead(dead_id)
249
260
  }
@@ -306,6 +317,21 @@ macro_rules! impl_storage {
306
317
  ) -> $crate::error::Result<()> {
307
318
  self.update_periodic_schedule(name, last_run, next_run)
308
319
  }
320
+ fn list_periodic(
321
+ &self,
322
+ ) -> $crate::error::Result<Vec<$crate::storage::models::PeriodicTaskRow>> {
323
+ self.list_periodic()
324
+ }
325
+ fn delete_periodic(&self, name: &str) -> $crate::error::Result<bool> {
326
+ self.delete_periodic(name)
327
+ }
328
+ fn set_periodic_enabled(
329
+ &self,
330
+ name: &str,
331
+ enabled: bool,
332
+ ) -> $crate::error::Result<bool> {
333
+ self.set_periodic_enabled(name, enabled)
334
+ }
309
335
  fn record_metric(
310
336
  &self,
311
337
  task_name: &str,
@@ -752,6 +778,12 @@ impl Storage for StorageBackend {
752
778
  fn list_dead(&self, limit: i64, offset: i64) -> Result<Vec<DeadJob>> {
753
779
  delegate!(self, list_dead, limit, offset)
754
780
  }
781
+ fn list_dead_by_task(&self, task_name: &str, limit: i64, offset: i64) -> Result<Vec<DeadJob>> {
782
+ delegate!(self, list_dead_by_task, task_name, limit, offset)
783
+ }
784
+ fn purge_dead_by_task(&self, task_name: &str) -> Result<u64> {
785
+ delegate!(self, purge_dead_by_task, task_name)
786
+ }
755
787
  fn retry_dead(&self, dead_id: &str) -> Result<String> {
756
788
  delegate!(self, retry_dead, dead_id)
757
789
  }
@@ -800,6 +832,15 @@ impl Storage for StorageBackend {
800
832
  fn update_periodic_schedule(&self, name: &str, last_run: i64, next_run: i64) -> Result<()> {
801
833
  delegate!(self, update_periodic_schedule, name, last_run, next_run)
802
834
  }
835
+ fn list_periodic(&self) -> Result<Vec<models::PeriodicTaskRow>> {
836
+ delegate!(self, list_periodic)
837
+ }
838
+ fn delete_periodic(&self, name: &str) -> Result<bool> {
839
+ delegate!(self, delete_periodic, name)
840
+ }
841
+ fn set_periodic_enabled(&self, name: &str, enabled: bool) -> Result<bool> {
842
+ delegate!(self, set_periodic_enabled, name, enabled)
843
+ }
803
844
  fn record_metric(
804
845
  &self,
805
846
  task_name: &str,
@@ -46,4 +46,36 @@ impl PostgresStorage {
46
46
 
47
47
  Ok(())
48
48
  }
49
+
50
+ /// List all registered periodic tasks, enabled or paused.
51
+ pub fn list_periodic(&self) -> Result<Vec<PeriodicTaskRow>> {
52
+ let mut conn = self.conn()?;
53
+
54
+ let rows = periodic_tasks::table
55
+ .select(PeriodicTaskRow::as_select())
56
+ .load(&mut conn)?;
57
+
58
+ Ok(rows)
59
+ }
60
+
61
+ /// Remove a periodic task. Returns false if no task had that name.
62
+ pub fn delete_periodic(&self, name: &str) -> Result<bool> {
63
+ let mut conn = self.conn()?;
64
+
65
+ let affected = diesel::delete(periodic_tasks::table.find(name)).execute(&mut conn)?;
66
+
67
+ Ok(affected > 0)
68
+ }
69
+
70
+ /// Pause (false) or resume (true) a periodic task by toggling `enabled`.
71
+ /// Returns false if no task had that name.
72
+ pub fn set_periodic_enabled(&self, name: &str, enabled: bool) -> Result<bool> {
73
+ let mut conn = self.conn()?;
74
+
75
+ let affected = diesel::update(periodic_tasks::table.find(name))
76
+ .set(periodic_tasks::enabled.eq(enabled))
77
+ .execute(&mut conn)?;
78
+
79
+ Ok(affected > 0)
80
+ }
49
81
  }