orionis 0.517.0__tar.gz → 0.519.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 (576) hide show
  1. {orionis-0.517.0/orionis.egg-info → orionis-0.519.0}/PKG-INFO +1 -1
  2. orionis-0.519.0/orionis/console/base/scheduler.py +195 -0
  3. orionis-0.519.0/orionis/console/contracts/scheduler.py +189 -0
  4. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/tasks/schedule.py +38 -28
  5. {orionis-0.517.0 → orionis-0.519.0}/orionis/metadata/framework.py +1 -1
  6. {orionis-0.517.0 → orionis-0.519.0/orionis.egg-info}/PKG-INFO +1 -1
  7. orionis-0.517.0/orionis/console/base/scheduler.py +0 -120
  8. orionis-0.517.0/orionis/console/contracts/scheduler.py +0 -140
  9. {orionis-0.517.0 → orionis-0.519.0}/LICENCE +0 -0
  10. {orionis-0.517.0 → orionis-0.519.0}/MANIFEST.in +0 -0
  11. {orionis-0.517.0 → orionis-0.519.0}/README.md +0 -0
  12. {orionis-0.517.0 → orionis-0.519.0}/orionis/__init__.py +0 -0
  13. {orionis-0.517.0 → orionis-0.519.0}/orionis/app.py +0 -0
  14. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/__init__.py +0 -0
  15. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/args/__init__.py +0 -0
  16. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/args/argument.py +0 -0
  17. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/args/enums/__init__.py +0 -0
  18. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/args/enums/actions.py +0 -0
  19. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/base/__init__.py +0 -0
  20. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/base/command.py +0 -0
  21. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/base/scheduler_event_listener.py +0 -0
  22. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/commands/__init__.py +0 -0
  23. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/commands/cache.py +0 -0
  24. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/commands/help.py +0 -0
  25. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/commands/publisher.py +0 -0
  26. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/commands/scheduler_list.py +0 -0
  27. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/commands/scheduler_work.py +0 -0
  28. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/commands/test.py +0 -0
  29. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/commands/version.py +0 -0
  30. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/commands/workflow.py +0 -0
  31. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/contracts/__init__.py +0 -0
  32. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/contracts/command.py +0 -0
  33. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/contracts/event.py +0 -0
  34. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/contracts/kernel.py +0 -0
  35. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/contracts/reactor.py +0 -0
  36. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/contracts/schedule.py +0 -0
  37. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/contracts/schedule_event_listener.py +0 -0
  38. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/core/__init__.py +0 -0
  39. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/core/reactor.py +0 -0
  40. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/dumper/__init__.py +0 -0
  41. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/dumper/contracts/__init__.py +0 -0
  42. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/dumper/contracts/dump.py +0 -0
  43. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/dumper/dump.py +0 -0
  44. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/dynamic/__init__.py +0 -0
  45. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/dynamic/contracts/__init__.py +0 -0
  46. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/dynamic/contracts/progress_bar.py +0 -0
  47. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/dynamic/progress_bar.py +0 -0
  48. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/__init__.py +0 -0
  49. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/all_jobs_removed.py +0 -0
  50. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/executor_added.py +0 -0
  51. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/executor_removed.py +0 -0
  52. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_added.py +0 -0
  53. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_error.py +0 -0
  54. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_event_data.py +0 -0
  55. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_executed.py +0 -0
  56. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_max_instances.py +0 -0
  57. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_missed.py +0 -0
  58. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_modified.py +0 -0
  59. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_pause.py +0 -0
  60. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_removed.py +0 -0
  61. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_resume.py +0 -0
  62. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_store_added.py +0 -0
  63. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_store_removed.py +0 -0
  64. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/job_submitted.py +0 -0
  65. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/request.py +0 -0
  66. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/scheduler_event_data.py +0 -0
  67. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/scheduler_paused.py +0 -0
  68. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/scheduler_resumed.py +0 -0
  69. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/scheduler_shutdown.py +0 -0
  70. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/entities/scheduler_started.py +0 -0
  71. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/enums/__init__.py +0 -0
  72. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/enums/command.py +0 -0
  73. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/enums/event.py +0 -0
  74. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/enums/listener.py +0 -0
  75. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/exceptions/__init__.py +0 -0
  76. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/exceptions/cli_exception.py +0 -0
  77. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/exceptions/cli_orionis_value_error.py +0 -0
  78. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/exceptions/cli_runtime_error.py +0 -0
  79. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/exceptions/cli_schedule_exception.py +0 -0
  80. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/kernel.py +0 -0
  81. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/output/__init__.py +0 -0
  82. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/output/console.py +0 -0
  83. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/output/contracts/__init__.py +0 -0
  84. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/output/contracts/console.py +0 -0
  85. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/output/contracts/executor.py +0 -0
  86. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/output/enums/__init__.py +0 -0
  87. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/output/enums/styles.py +0 -0
  88. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/output/executor.py +0 -0
  89. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/request/cli_request.py +0 -0
  90. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/tasks/__init__.py +0 -0
  91. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/tasks/event.py +0 -0
  92. {orionis-0.517.0 → orionis-0.519.0}/orionis/console/tasks/listener.py +0 -0
  93. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/__init__.py +0 -0
  94. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/container.py +0 -0
  95. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/context/__init__.py +0 -0
  96. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/context/manager.py +0 -0
  97. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/context/scope.py +0 -0
  98. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/contracts/__init__.py +0 -0
  99. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/contracts/container.py +0 -0
  100. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/contracts/service_provider.py +0 -0
  101. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/entities/__init__.py +0 -0
  102. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/entities/binding.py +0 -0
  103. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/enums/__init__.py +0 -0
  104. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/enums/lifetimes.py +0 -0
  105. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/exceptions/__init__.py +0 -0
  106. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/exceptions/attribute.py +0 -0
  107. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/exceptions/exception.py +0 -0
  108. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/exceptions/type.py +0 -0
  109. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/exceptions/value.py +0 -0
  110. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/facades/__init__.py +0 -0
  111. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/facades/facade.py +0 -0
  112. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/providers/__init__.py +0 -0
  113. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/providers/service_provider.py +0 -0
  114. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/validators/__init__.py +0 -0
  115. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/validators/implements.py +0 -0
  116. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/validators/is_abstract_class.py +0 -0
  117. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/validators/is_callable.py +0 -0
  118. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/validators/is_concrete_class.py +0 -0
  119. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/validators/is_instance.py +0 -0
  120. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/validators/is_not_subclass.py +0 -0
  121. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/validators/is_subclass.py +0 -0
  122. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/validators/is_valid_alias.py +0 -0
  123. {orionis-0.517.0 → orionis-0.519.0}/orionis/container/validators/lifetime.py +0 -0
  124. {orionis-0.517.0 → orionis-0.519.0}/orionis/failure/__init__.py +0 -0
  125. {orionis-0.517.0 → orionis-0.519.0}/orionis/failure/base/__init__.py +0 -0
  126. {orionis-0.517.0 → orionis-0.519.0}/orionis/failure/base/handler.py +0 -0
  127. {orionis-0.517.0 → orionis-0.519.0}/orionis/failure/catch.py +0 -0
  128. {orionis-0.517.0 → orionis-0.519.0}/orionis/failure/contracts/__init__.py +0 -0
  129. {orionis-0.517.0 → orionis-0.519.0}/orionis/failure/contracts/catch.py +0 -0
  130. {orionis-0.517.0 → orionis-0.519.0}/orionis/failure/contracts/handler.py +0 -0
  131. {orionis-0.517.0 → orionis-0.519.0}/orionis/failure/entities/__init__.py +0 -0
  132. {orionis-0.517.0 → orionis-0.519.0}/orionis/failure/entities/throwable.py +0 -0
  133. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/__init__.py +0 -0
  134. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/application.py +0 -0
  135. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/__init__.py +0 -0
  136. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/app/__init__.py +0 -0
  137. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/app/entities/__init__.py +0 -0
  138. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/app/entities/app.py +0 -0
  139. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/app/enums/__init__.py +0 -0
  140. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/app/enums/ciphers.py +0 -0
  141. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/app/enums/environments.py +0 -0
  142. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/auth/__init__.py +0 -0
  143. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/auth/entities/__init__.py +0 -0
  144. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/auth/entities/auth.py +0 -0
  145. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/cache/__init__.py +0 -0
  146. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/cache/entities/__init__.py +0 -0
  147. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/cache/entities/cache.py +0 -0
  148. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/cache/entities/file.py +0 -0
  149. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/cache/entities/stores.py +0 -0
  150. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/cache/enums/__init__.py +0 -0
  151. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/cache/enums/drivers.py +0 -0
  152. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/cors/__init__.py +0 -0
  153. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/cors/entities/__init__.py +0 -0
  154. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/cors/entities/cors.py +0 -0
  155. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/__init__.py +0 -0
  156. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/entities/__init__.py +0 -0
  157. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/entities/connections.py +0 -0
  158. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/entities/database.py +0 -0
  159. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/entities/mysql.py +0 -0
  160. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/entities/oracle.py +0 -0
  161. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/entities/pgsql.py +0 -0
  162. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/entities/sqlite.py +0 -0
  163. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/__init__.py +0 -0
  164. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/mysql_charsets.py +0 -0
  165. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/mysql_collations.py +0 -0
  166. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/mysql_engine.py +0 -0
  167. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/oracle_encoding.py +0 -0
  168. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/oracle_nencoding.py +0 -0
  169. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/pgsql_charsets.py +0 -0
  170. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/pgsql_collations.py +0 -0
  171. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/pgsql_mode.py +0 -0
  172. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/sqlite_foreign_key.py +0 -0
  173. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/sqlite_journal.py +0 -0
  174. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/database/enums/sqlite_synchronous.py +0 -0
  175. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/filesystems/__init__.py +0 -0
  176. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/filesystems/entitites/__init__.py +0 -0
  177. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/filesystems/entitites/aws.py +0 -0
  178. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/filesystems/entitites/disks.py +0 -0
  179. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/filesystems/entitites/filesystems.py +0 -0
  180. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/filesystems/entitites/local.py +0 -0
  181. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/filesystems/entitites/public.py +0 -0
  182. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/__init__.py +0 -0
  183. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/entities/__init__.py +0 -0
  184. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/entities/channels.py +0 -0
  185. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/entities/chunked.py +0 -0
  186. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/entities/daily.py +0 -0
  187. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/entities/hourly.py +0 -0
  188. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/entities/logging.py +0 -0
  189. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/entities/monthly.py +0 -0
  190. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/entities/stack.py +0 -0
  191. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/entities/weekly.py +0 -0
  192. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/enums/__init__.py +0 -0
  193. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/enums/levels.py +0 -0
  194. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/validators/__init__.py +0 -0
  195. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/validators/level.py +0 -0
  196. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/logging/validators/path.py +0 -0
  197. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/mail/__init__.py +0 -0
  198. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/mail/entities/__init__.py +0 -0
  199. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/mail/entities/file.py +0 -0
  200. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/mail/entities/mail.py +0 -0
  201. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/mail/entities/mailers.py +0 -0
  202. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/mail/entities/smtp.py +0 -0
  203. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/queue/__init__.py +0 -0
  204. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/queue/entities/__init__.py +0 -0
  205. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/queue/entities/brokers.py +0 -0
  206. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/queue/entities/database.py +0 -0
  207. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/queue/entities/queue.py +0 -0
  208. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/queue/enums/__init__.py +0 -0
  209. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/queue/enums/strategy.py +0 -0
  210. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/roots/__init__.py +0 -0
  211. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/roots/paths.py +0 -0
  212. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/session/__init__.py +0 -0
  213. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/session/entities/__init__.py +0 -0
  214. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/session/entities/session.py +0 -0
  215. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/session/enums/__init__.py +0 -0
  216. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/session/enums/same_site_policy.py +0 -0
  217. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/session/helpers/__init__.py +0 -0
  218. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/session/helpers/secret_key.py +0 -0
  219. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/startup.py +0 -0
  220. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/testing/__init__.py +0 -0
  221. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/testing/entities/__init__.py +0 -0
  222. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/testing/entities/testing.py +0 -0
  223. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/testing/enums/__init__.py +0 -0
  224. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/testing/enums/drivers.py +0 -0
  225. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/testing/enums/mode.py +0 -0
  226. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/config/testing/enums/verbosity.py +0 -0
  227. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/contracts/__init__.py +0 -0
  228. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/contracts/application.py +0 -0
  229. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/contracts/config.py +0 -0
  230. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/exceptions/__init__.py +0 -0
  231. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/exceptions/integrity.py +0 -0
  232. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/exceptions/runtime.py +0 -0
  233. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/exceptions/type.py +0 -0
  234. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/exceptions/value.py +0 -0
  235. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/__init__.py +0 -0
  236. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/catch_provider.py +0 -0
  237. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/console_provider.py +0 -0
  238. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/directory_provider.py +0 -0
  239. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/dumper_provider.py +0 -0
  240. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/executor_provider.py +0 -0
  241. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/inspirational_provider.py +0 -0
  242. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/logger_provider.py +0 -0
  243. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/performance_counter_provider.py +0 -0
  244. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/progress_bar_provider.py +0 -0
  245. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/reactor_provider.py +0 -0
  246. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/scheduler_provider.py +0 -0
  247. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/testing_provider.py +0 -0
  248. {orionis-0.517.0 → orionis-0.519.0}/orionis/foundation/providers/workers_provider.py +0 -0
  249. {orionis-0.517.0 → orionis-0.519.0}/orionis/metadata/__init__.py +0 -0
  250. {orionis-0.517.0 → orionis-0.519.0}/orionis/metadata/package.py +0 -0
  251. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/__init__.py +0 -0
  252. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/asynchrony/__init__.py +0 -0
  253. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/asynchrony/contracts/__init__.py +0 -0
  254. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/asynchrony/contracts/coroutines.py +0 -0
  255. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/asynchrony/coroutines.py +0 -0
  256. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/asynchrony/exceptions/__init__.py +0 -0
  257. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/asynchrony/exceptions/exception.py +0 -0
  258. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/__init__.py +0 -0
  259. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/contracts/__init__.py +0 -0
  260. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/contracts/caster.py +0 -0
  261. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/contracts/env.py +0 -0
  262. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/core/__init__.py +0 -0
  263. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/core/dot_env.py +0 -0
  264. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/dynamic/__init__.py +0 -0
  265. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/dynamic/caster.py +0 -0
  266. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/enums/__init__.py +0 -0
  267. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/enums/value_type.py +0 -0
  268. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/env.py +0 -0
  269. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/exceptions/__init__.py +0 -0
  270. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/exceptions/exception.py +0 -0
  271. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/exceptions/value.py +0 -0
  272. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/helpers/__init__.py +0 -0
  273. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/helpers/functions.py +0 -0
  274. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/key/__init__.py +0 -0
  275. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/key/key_generator.py +0 -0
  276. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/validators/__init__.py +0 -0
  277. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/validators/key_name.py +0 -0
  278. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/environment/validators/types.py +0 -0
  279. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/file/__init__.py +0 -0
  280. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/file/contracts/__init__.py +0 -0
  281. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/file/contracts/directory.py +0 -0
  282. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/file/directory.py +0 -0
  283. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/inspirational/__init__.py +0 -0
  284. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/inspirational/contracts/__init__.py +0 -0
  285. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/inspirational/contracts/inspire.py +0 -0
  286. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/inspirational/inspire.py +0 -0
  287. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/inspirational/quotes.py +0 -0
  288. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/__init__.py +0 -0
  289. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/abstract/__init__.py +0 -0
  290. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/abstract/contracts/__init__.py +0 -0
  291. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/abstract/contracts/reflection.py +0 -0
  292. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/abstract/reflection.py +0 -0
  293. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/callables/__init__.py +0 -0
  294. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/callables/contracts/__init__.py +0 -0
  295. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/callables/contracts/reflection.py +0 -0
  296. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/callables/reflection.py +0 -0
  297. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/concretes/__init__.py +0 -0
  298. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/concretes/contracts/__init__.py +0 -0
  299. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/concretes/contracts/reflection.py +0 -0
  300. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/concretes/reflection.py +0 -0
  301. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/dependencies/__init__.py +0 -0
  302. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/dependencies/contracts/__init__.py +0 -0
  303. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/dependencies/contracts/reflection.py +0 -0
  304. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/dependencies/entities/__init__.py +0 -0
  305. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/dependencies/entities/argument.py +0 -0
  306. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/dependencies/entities/resolve_argument.py +0 -0
  307. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/dependencies/reflection.py +0 -0
  308. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/exceptions/__init__.py +0 -0
  309. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/exceptions/attribute.py +0 -0
  310. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/exceptions/type.py +0 -0
  311. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/exceptions/value.py +0 -0
  312. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/instances/__init__.py +0 -0
  313. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/instances/contracts/__init__.py +0 -0
  314. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/instances/contracts/reflection.py +0 -0
  315. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/instances/reflection.py +0 -0
  316. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/modules/__init__.py +0 -0
  317. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/modules/contracts/__init__.py +0 -0
  318. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/modules/contracts/reflection.py +0 -0
  319. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/modules/reflection.py +0 -0
  320. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/objects/__init__.py +0 -0
  321. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/objects/types.py +0 -0
  322. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/introspection/reflection.py +0 -0
  323. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/log/__init__.py +0 -0
  324. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/log/contracts/__init__.py +0 -0
  325. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/log/contracts/log_service.py +0 -0
  326. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/log/exceptions/__init__.py +0 -0
  327. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/log/exceptions/runtime.py +0 -0
  328. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/log/handlers/__init__.py +0 -0
  329. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/log/handlers/filename.py +0 -0
  330. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/log/handlers/size_rotating.py +0 -0
  331. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/log/handlers/timed_rotating.py +0 -0
  332. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/log/log_service.py +0 -0
  333. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/system/__init__.py +0 -0
  334. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/system/contracts/__init__.py +0 -0
  335. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/system/contracts/imports.py +0 -0
  336. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/system/contracts/workers.py +0 -0
  337. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/system/imports.py +0 -0
  338. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/system/runtime/__init__.py +0 -0
  339. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/system/runtime/imports.py +0 -0
  340. {orionis-0.517.0 → orionis-0.519.0}/orionis/services/system/workers.py +0 -0
  341. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/__init__.py +0 -0
  342. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/entities/__init__.py +0 -0
  343. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/entities/base.py +0 -0
  344. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/__init__.py +0 -0
  345. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/application.py +0 -0
  346. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/console.py +0 -0
  347. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/dumper.py +0 -0
  348. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/executor.py +0 -0
  349. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/inspire.py +0 -0
  350. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/logger.py +0 -0
  351. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/performance_counter.py +0 -0
  352. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/progress_bar.py +0 -0
  353. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/reactor.py +0 -0
  354. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/testing.py +0 -0
  355. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/facades/workers.py +0 -0
  356. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/formatter/__init__.py +0 -0
  357. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/formatter/exceptions/__init__.py +0 -0
  358. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/formatter/exceptions/contracts/__init__.py +0 -0
  359. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/formatter/exceptions/contracts/parser.py +0 -0
  360. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/formatter/exceptions/parser.py +0 -0
  361. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/formatter/serializer.py +0 -0
  362. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/patterns/__init__.py +0 -0
  363. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/patterns/singleton/__init__.py +0 -0
  364. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/patterns/singleton/meta.py +0 -0
  365. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/performance/__init__.py +0 -0
  366. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/performance/contracts/__init__.py +0 -0
  367. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/performance/contracts/counter.py +0 -0
  368. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/performance/counter.py +0 -0
  369. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/standard/__init__.py +0 -0
  370. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/standard/contracts/__init__.py +0 -0
  371. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/standard/contracts/std.py +0 -0
  372. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/standard/exceptions/__init__.py +0 -0
  373. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/standard/exceptions/value.py +0 -0
  374. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/standard/std.py +0 -0
  375. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/wrapper/__init__.py +0 -0
  376. {orionis-0.517.0 → orionis-0.519.0}/orionis/support/wrapper/dot_dict.py +0 -0
  377. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/__init__.py +0 -0
  378. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/cases/__init__.py +0 -0
  379. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/cases/asynchronous.py +0 -0
  380. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/cases/synchronous.py +0 -0
  381. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/contracts/__init__.py +0 -0
  382. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/contracts/dumper.py +0 -0
  383. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/contracts/kernel.py +0 -0
  384. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/contracts/logs.py +0 -0
  385. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/contracts/printer.py +0 -0
  386. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/contracts/render.py +0 -0
  387. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/contracts/test_result.py +0 -0
  388. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/contracts/unit_test.py +0 -0
  389. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/core/__init__.py +0 -0
  390. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/core/unit_test.py +0 -0
  391. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/entities/__init__.py +0 -0
  392. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/entities/result.py +0 -0
  393. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/enums/__init__.py +0 -0
  394. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/enums/status.py +0 -0
  395. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/exceptions/__init__.py +0 -0
  396. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/exceptions/config.py +0 -0
  397. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/exceptions/failure.py +0 -0
  398. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/exceptions/persistence.py +0 -0
  399. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/exceptions/runtime.py +0 -0
  400. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/exceptions/value.py +0 -0
  401. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/kernel.py +0 -0
  402. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/output/__init__.py +0 -0
  403. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/output/dumper.py +0 -0
  404. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/output/printer.py +0 -0
  405. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/records/__init__.py +0 -0
  406. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/records/logs.py +0 -0
  407. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/__init__.py +0 -0
  408. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/base_path.py +0 -0
  409. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/execution_mode.py +0 -0
  410. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/fail_fast.py +0 -0
  411. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/folder_path.py +0 -0
  412. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/module_name.py +0 -0
  413. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/name_pattern.py +0 -0
  414. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/pattern.py +0 -0
  415. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/persistent.py +0 -0
  416. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/persistent_driver.py +0 -0
  417. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/print_result.py +0 -0
  418. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/tags.py +0 -0
  419. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/throw_exception.py +0 -0
  420. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/verbosity.py +0 -0
  421. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/web_report.py +0 -0
  422. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/validators/workers.py +0 -0
  423. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/view/__init__.py +0 -0
  424. {orionis-0.517.0 → orionis-0.519.0}/orionis/test/view/render.py +0 -0
  425. {orionis-0.517.0 → orionis-0.519.0}/orionis.egg-info/SOURCES.txt +0 -0
  426. {orionis-0.517.0 → orionis-0.519.0}/orionis.egg-info/dependency_links.txt +0 -0
  427. {orionis-0.517.0 → orionis-0.519.0}/orionis.egg-info/requires.txt +0 -0
  428. {orionis-0.517.0 → orionis-0.519.0}/orionis.egg-info/top_level.txt +0 -0
  429. {orionis-0.517.0 → orionis-0.519.0}/orionis.egg-info/zip-safe +0 -0
  430. {orionis-0.517.0 → orionis-0.519.0}/setup.cfg +0 -0
  431. {orionis-0.517.0 → orionis-0.519.0}/setup.py +0 -0
  432. {orionis-0.517.0 → orionis-0.519.0}/tests/container/__init__.py +0 -0
  433. {orionis-0.517.0 → orionis-0.519.0}/tests/container/context/__init__.py +0 -0
  434. {orionis-0.517.0 → orionis-0.519.0}/tests/container/context/test_manager.py +0 -0
  435. {orionis-0.517.0 → orionis-0.519.0}/tests/container/context/test_scope.py +0 -0
  436. {orionis-0.517.0 → orionis-0.519.0}/tests/container/core/__init__.py +0 -0
  437. {orionis-0.517.0 → orionis-0.519.0}/tests/container/core/test_advanced_async.py +0 -0
  438. {orionis-0.517.0 → orionis-0.519.0}/tests/container/core/test_async_optimizations.py +0 -0
  439. {orionis-0.517.0 → orionis-0.519.0}/tests/container/core/test_container.py +0 -0
  440. {orionis-0.517.0 → orionis-0.519.0}/tests/container/core/test_singleton.py +0 -0
  441. {orionis-0.517.0 → orionis-0.519.0}/tests/container/core/test_thread_safety.py +0 -0
  442. {orionis-0.517.0 → orionis-0.519.0}/tests/container/entities/__init__.py +0 -0
  443. {orionis-0.517.0 → orionis-0.519.0}/tests/container/entities/test_binding.py +0 -0
  444. {orionis-0.517.0 → orionis-0.519.0}/tests/container/enums/__init__.py +0 -0
  445. {orionis-0.517.0 → orionis-0.519.0}/tests/container/enums/test_lifetimes.py +0 -0
  446. {orionis-0.517.0 → orionis-0.519.0}/tests/container/facades/__init__.py +0 -0
  447. {orionis-0.517.0 → orionis-0.519.0}/tests/container/facades/test_facade.py +0 -0
  448. {orionis-0.517.0 → orionis-0.519.0}/tests/container/mocks/__init__.py +0 -0
  449. {orionis-0.517.0 → orionis-0.519.0}/tests/container/mocks/mock_advanced_async.py +0 -0
  450. {orionis-0.517.0 → orionis-0.519.0}/tests/container/mocks/mock_async_optimizations.py +0 -0
  451. {orionis-0.517.0 → orionis-0.519.0}/tests/container/mocks/mock_auto_resolution.py +0 -0
  452. {orionis-0.517.0 → orionis-0.519.0}/tests/container/mocks/mock_complex_classes.py +0 -0
  453. {orionis-0.517.0 → orionis-0.519.0}/tests/container/mocks/mock_simple_classes.py +0 -0
  454. {orionis-0.517.0 → orionis-0.519.0}/tests/container/providers/__init__.py +0 -0
  455. {orionis-0.517.0 → orionis-0.519.0}/tests/container/providers/test_providers.py +0 -0
  456. {orionis-0.517.0 → orionis-0.519.0}/tests/container/validators/__init__.py +0 -0
  457. {orionis-0.517.0 → orionis-0.519.0}/tests/container/validators/test_implements.py +0 -0
  458. {orionis-0.517.0 → orionis-0.519.0}/tests/container/validators/test_is_abstract_class.py +0 -0
  459. {orionis-0.517.0 → orionis-0.519.0}/tests/container/validators/test_is_callable.py +0 -0
  460. {orionis-0.517.0 → orionis-0.519.0}/tests/container/validators/test_is_concrete_class.py +0 -0
  461. {orionis-0.517.0 → orionis-0.519.0}/tests/container/validators/test_is_instance.py +0 -0
  462. {orionis-0.517.0 → orionis-0.519.0}/tests/container/validators/test_is_not_subclass.py +0 -0
  463. {orionis-0.517.0 → orionis-0.519.0}/tests/container/validators/test_is_subclass.py +0 -0
  464. {orionis-0.517.0 → orionis-0.519.0}/tests/container/validators/test_is_valid_alias.py +0 -0
  465. {orionis-0.517.0 → orionis-0.519.0}/tests/container/validators/test_lifetime.py +0 -0
  466. {orionis-0.517.0 → orionis-0.519.0}/tests/example/__init__.py +0 -0
  467. {orionis-0.517.0 → orionis-0.519.0}/tests/example/test_example.py +0 -0
  468. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/__init__.py +0 -0
  469. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/__init__.py +0 -0
  470. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/app/__init__.py +0 -0
  471. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/app/test_foundation_config_app.py +0 -0
  472. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/auth/__init__.py +0 -0
  473. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/auth/test_foundation_config_auth.py +0 -0
  474. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/cache/__init__.py +0 -0
  475. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/cache/test_foundation_config_cache.py +0 -0
  476. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/cache/test_foundation_config_cache_file.py +0 -0
  477. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/cache/test_foundation_config_cache_stores.py +0 -0
  478. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/cors/__init__.py +0 -0
  479. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/cors/test_foundation_config_cors.py +0 -0
  480. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/database/__init__.py +0 -0
  481. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/database/test_foundation_config_database.py +0 -0
  482. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/database/test_foundation_config_database_connections.py +0 -0
  483. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/database/test_foundation_config_database_mysql.py +0 -0
  484. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/database/test_foundation_config_database_oracle.py +0 -0
  485. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/database/test_foundation_config_database_pgsql.py +0 -0
  486. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/database/test_foundation_config_database_sqlite.py +0 -0
  487. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/filesystems/__init__.py +0 -0
  488. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems.py +0 -0
  489. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_aws.py +0 -0
  490. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_disks.py +0 -0
  491. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_local.py +0 -0
  492. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/filesystems/test_foundation_config_filesystems_public.py +0 -0
  493. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/logging/__init__.py +0 -0
  494. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/logging/test_foundation_config_logging.py +0 -0
  495. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/logging/test_foundation_config_logging_channels.py +0 -0
  496. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/logging/test_foundation_config_logging_chunked.py +0 -0
  497. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/logging/test_foundation_config_logging_daily.py +0 -0
  498. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/logging/test_foundation_config_logging_hourly.py +0 -0
  499. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/logging/test_foundation_config_logging_monthly.py +0 -0
  500. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/logging/test_foundation_config_logging_stack.py +0 -0
  501. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/logging/test_foundation_config_logging_weekly.py +0 -0
  502. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/mail/__init__.py +0 -0
  503. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/mail/test_foundation_config_mail.py +0 -0
  504. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/mail/test_foundation_config_mail_file.py +0 -0
  505. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/mail/test_foundation_config_mail_mailers.py +0 -0
  506. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/mail/test_foundation_config_mail_smtp.py +0 -0
  507. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/queue/__init__.py +0 -0
  508. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/queue/test_foundation_config_queue.py +0 -0
  509. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/queue/test_foundation_config_queue_brokers.py +0 -0
  510. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/queue/test_foundation_config_queue_database.py +0 -0
  511. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/root/__init__.py +0 -0
  512. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/root/test_foundation_config_root_paths.py +0 -0
  513. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/session/__init__.py +0 -0
  514. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/session/test_foundation_config_session.py +0 -0
  515. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/startup/__init__.py +0 -0
  516. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/startup/test_foundation_config_startup.py +0 -0
  517. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/testing/__init__.py +0 -0
  518. {orionis-0.517.0 → orionis-0.519.0}/tests/foundation/config/testing/test_foundation_config_testing.py +0 -0
  519. {orionis-0.517.0 → orionis-0.519.0}/tests/metadata/__init__.py +0 -0
  520. {orionis-0.517.0 → orionis-0.519.0}/tests/metadata/test_metadata_framework.py +0 -0
  521. {orionis-0.517.0 → orionis-0.519.0}/tests/metadata/test_metadata_package.py +0 -0
  522. {orionis-0.517.0 → orionis-0.519.0}/tests/services/__init__.py +0 -0
  523. {orionis-0.517.0 → orionis-0.519.0}/tests/services/asynchrony/__init__.py +0 -0
  524. {orionis-0.517.0 → orionis-0.519.0}/tests/services/asynchrony/test_services_asynchrony_coroutine.py +0 -0
  525. {orionis-0.517.0 → orionis-0.519.0}/tests/services/environment/__init__.py +0 -0
  526. {orionis-0.517.0 → orionis-0.519.0}/tests/services/environment/test_services_environment.py +0 -0
  527. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/__init__.py +0 -0
  528. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/dependencies/__init__.py +0 -0
  529. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/dependencies/mocks/__init__.py +0 -0
  530. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/dependencies/mocks/mock_user.py +0 -0
  531. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/dependencies/mocks/mock_user_controller.py +0 -0
  532. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/dependencies/mocks/mock_users_permissions.py +0 -0
  533. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/dependencies/test_reflect_dependencies.py +0 -0
  534. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/reflection/__init__.py +0 -0
  535. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/reflection/mock/__init__.py +0 -0
  536. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/reflection/mock/fake_reflect_instance.py +0 -0
  537. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/reflection/test_reflection_abstract.py +0 -0
  538. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/reflection/test_reflection_callable.py +0 -0
  539. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/reflection/test_reflection_concrete.py +0 -0
  540. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/reflection/test_reflection_instance.py +0 -0
  541. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/reflection/test_reflection_module.py +0 -0
  542. {orionis-0.517.0 → orionis-0.519.0}/tests/services/introspection/test_reflection.py +0 -0
  543. {orionis-0.517.0 → orionis-0.519.0}/tests/services/log/__init__.py +0 -0
  544. {orionis-0.517.0 → orionis-0.519.0}/tests/services/log/test_log.py +0 -0
  545. {orionis-0.517.0 → orionis-0.519.0}/tests/services/system/__init__.py +0 -0
  546. {orionis-0.517.0 → orionis-0.519.0}/tests/services/system/test_services_system_imports.py +0 -0
  547. {orionis-0.517.0 → orionis-0.519.0}/tests/services/system/test_services_system_workers.py +0 -0
  548. {orionis-0.517.0 → orionis-0.519.0}/tests/support/__init__.py +0 -0
  549. {orionis-0.517.0 → orionis-0.519.0}/tests/support/entities/__init__.py +0 -0
  550. {orionis-0.517.0 → orionis-0.519.0}/tests/support/entities/mock_dataclass.py +0 -0
  551. {orionis-0.517.0 → orionis-0.519.0}/tests/support/entities/test_base.py +0 -0
  552. {orionis-0.517.0 → orionis-0.519.0}/tests/support/patterns/__init__.py +0 -0
  553. {orionis-0.517.0 → orionis-0.519.0}/tests/support/patterns/singleton/__init__.py +0 -0
  554. {orionis-0.517.0 → orionis-0.519.0}/tests/support/patterns/singleton/test_patterns_singleton.py +0 -0
  555. {orionis-0.517.0 → orionis-0.519.0}/tests/support/standard/__init__.py +0 -0
  556. {orionis-0.517.0 → orionis-0.519.0}/tests/support/standard/test_services_std.py +0 -0
  557. {orionis-0.517.0 → orionis-0.519.0}/tests/support/wrapper/__init__.py +0 -0
  558. {orionis-0.517.0 → orionis-0.519.0}/tests/support/wrapper/test_services_wrapper_docdict.py +0 -0
  559. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/__init__.py +0 -0
  560. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/cases/__init__.py +0 -0
  561. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/cases/test_testing_asynchronous.py +0 -0
  562. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/cases/test_testing_synchronous.py +0 -0
  563. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/entities/__init__.py +0 -0
  564. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/entities/test_testing_result.py +0 -0
  565. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/enums/__init__.py +0 -0
  566. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/enums/test_testing_status.py +0 -0
  567. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/output/__init__.py +0 -0
  568. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/output/test_testing_dumper.py +0 -0
  569. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/output/test_testing_printer.py +0 -0
  570. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/records/__init__.py +0 -0
  571. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/records/test_testing_records.py +0 -0
  572. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/test_testing_unit.py +0 -0
  573. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/validators/__init__.py +0 -0
  574. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/validators/test_testing_validators.py +0 -0
  575. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/view/__init__.py +0 -0
  576. {orionis-0.517.0 → orionis-0.519.0}/tests/testing/view/test_render.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.517.0
3
+ Version: 0.519.0
4
4
  Summary: Orionis Framework – Elegant, Fast, and Powerful.
5
5
  Home-page: https://github.com/orionis-framework/framework
6
6
  Author: Raul Mauricio Uñate Castro
@@ -0,0 +1,195 @@
1
+ from datetime import datetime
2
+ from orionis.console.contracts.scheduler import IBaseScheduler
3
+ from orionis.console.contracts.schedule import ISchedule
4
+ from orionis.console.entities.job_error import JobError
5
+ from orionis.console.entities.scheduler_paused import SchedulerPaused
6
+ from orionis.console.entities.scheduler_resumed import SchedulerResumed
7
+ from orionis.console.entities.scheduler_shutdown import SchedulerShutdown
8
+ from orionis.console.entities.scheduler_started import SchedulerStarted
9
+
10
+ class BaseScheduler(IBaseScheduler):
11
+
12
+ # Pause Global Scheduler at a specific time
13
+ PAUSE_AT: datetime = None
14
+
15
+ # Resume Global Scheduler at a specific time
16
+ RESUME_AT: datetime = None
17
+
18
+ # Finalize Global Scheduler at a specific time
19
+ FINALIZE_AT: datetime = None
20
+
21
+ async def tasks(self, schedule: ISchedule):
22
+ """
23
+ Defines and registers scheduled tasks for the application.
24
+
25
+ This method is responsible for setting up the tasks that the scheduler will execute.
26
+ It uses the provided `schedule` object to define the properties and behavior of each task.
27
+
28
+ Parameters
29
+ ----------
30
+ schedule : ISchedule
31
+ The schedule object used to define and register scheduled commands.
32
+
33
+ Returns
34
+ -------
35
+ None
36
+ This method does not return any value. It is used solely for task registration.
37
+
38
+ Notes
39
+ -----
40
+ Subclasses must override this method to implement their specific task scheduling logic.
41
+ The method should define the tasks, their execution intervals, and any additional
42
+ properties or constraints required for the tasks.
43
+ """
44
+
45
+ # Raise an error to enforce implementation in subclasses
46
+ raise NotImplementedError("Subclasses must implement the tasks method.")
47
+
48
+ async def onStarted(self, event: SchedulerStarted, schedule: ISchedule):
49
+ """
50
+ Handles the event triggered when the scheduler has started successfully.
51
+
52
+ This method is invoked when the scheduler begins its operation. It processes
53
+ the `SchedulerStarted` event and performs any necessary initialization or logging
54
+ tasks associated with the start of the scheduler.
55
+
56
+ Parameters
57
+ ----------
58
+ event : SchedulerStarted
59
+ The event object containing details about the scheduler start event.
60
+ schedule : ISchedule
61
+ The schedule instance associated with the started scheduler.
62
+
63
+ Returns
64
+ -------
65
+ None
66
+ This method does not return any value. It is used for handling the
67
+ scheduler start event and performing related actions.
68
+
69
+ Notes
70
+ -----
71
+ This method calls the parent class's `onStarted` method to ensure that
72
+ any base functionality is executed.
73
+ """
74
+ pass
75
+
76
+ async def onPaused(self, event: SchedulerPaused, schedule: ISchedule):
77
+ """
78
+ Handles the event triggered when the scheduler is paused.
79
+
80
+ This method is invoked when the scheduler pauses its operation. It processes
81
+ the `SchedulerPaused` event and performs any necessary actions or logging
82
+ tasks associated with the pause of the scheduler.
83
+
84
+ Parameters
85
+ ----------
86
+ event : SchedulerPaused
87
+ The event object containing details about the scheduler pause event.
88
+ schedule : ISchedule
89
+ The schedule instance associated with the paused scheduler.
90
+
91
+ Returns
92
+ -------
93
+ None
94
+ This method does not return any value. It is used for handling the
95
+ scheduler pause event and performing related actions.
96
+
97
+ Notes
98
+ -----
99
+ This method calls the parent class's `onPaused` method to ensure that
100
+ any base functionality is executed.
101
+ """
102
+ pass
103
+
104
+ async def onResumed(self, event: SchedulerResumed, schedule: ISchedule):
105
+ """
106
+ Handles the event triggered when the scheduler is resumed.
107
+
108
+ This method is invoked when the scheduler resumes its operation after being paused.
109
+ It processes the `SchedulerResumed` event and performs any necessary actions or logging
110
+ tasks associated with the resumption of the scheduler.
111
+
112
+ Parameters
113
+ ----------
114
+ event : SchedulerResumed
115
+ The event object containing details about the scheduler resumption, such as the
116
+ timestamp of the resumption and any relevant metadata.
117
+ schedule : ISchedule
118
+ The schedule instance associated with the resumed scheduler, which can be used
119
+ to interact with or modify the scheduler's tasks.
120
+
121
+ Returns
122
+ -------
123
+ None
124
+ This method does not return any value. It is used for handling the scheduler
125
+ resumption event and performing related actions.
126
+
127
+ Notes
128
+ -----
129
+ This method calls the parent class's `onResumed` method to ensure that any base
130
+ functionality is executed. This allows the scheduler to maintain its default behavior
131
+ while enabling additional custom actions during the resumption process.
132
+ """
133
+ pass
134
+
135
+ async def onFinalized(self, event: SchedulerShutdown, schedule: ISchedule):
136
+ """
137
+ Handles the event triggered when the scheduler has been finalized.
138
+
139
+ This method is invoked after the scheduler has completed its shutdown process.
140
+ It processes the `SchedulerShutdown` event and performs any necessary cleanup
141
+ or logging tasks associated with the finalization of the scheduler.
142
+
143
+ Parameters
144
+ ----------
145
+ event : SchedulerShutdown
146
+ The event object containing details about the scheduler shutdown, such as
147
+ the timestamp of the shutdown and any relevant metadata.
148
+ schedule : ISchedule
149
+ The schedule instance associated with the finalized scheduler, which can be
150
+ used to interact with or inspect the scheduler's tasks.
151
+
152
+ Returns
153
+ -------
154
+ None
155
+ This method does not return any value. It is used for handling the scheduler
156
+ shutdown event and performing related actions.
157
+
158
+ Notes
159
+ -----
160
+ This method calls the parent class's `onFinalized` method to ensure that any base
161
+ functionality is executed. This allows the scheduler to maintain its default behavior
162
+ while enabling additional custom actions during the finalization process.
163
+ """
164
+ pass
165
+
166
+ async def onError(self, event: JobError, schedule: ISchedule):
167
+ """
168
+ Handles the event triggered when a job encounters an error during execution.
169
+
170
+ This method is invoked when a job fails due to an exception. It processes the `JobError`
171
+ event and performs any necessary actions, such as logging the error details or notifying
172
+ relevant systems about the failure.
173
+
174
+ Parameters
175
+ ----------
176
+ event : JobError
177
+ The event object containing details about the job error, including the job ID,
178
+ the exception that occurred, and any relevant metadata.
179
+ schedule : ISchedule
180
+ The schedule instance associated with the job, which can be used to interact with
181
+ or modify the scheduler's tasks.
182
+
183
+ Returns
184
+ -------
185
+ None
186
+ This method does not return any value. It is used for handling the job error event
187
+ and performing related actions, such as logging or cleanup.
188
+
189
+ Notes
190
+ -----
191
+ This method calls the parent class's `onError` method to ensure that any base functionality
192
+ is executed. This allows the scheduler to maintain its default behavior while enabling
193
+ additional custom actions during error handling.
194
+ """
195
+ pass
@@ -0,0 +1,189 @@
1
+ from abc import ABC, abstractmethod
2
+ from orionis.console.contracts.schedule import ISchedule
3
+ from orionis.console.entities.job_error import JobError
4
+ from orionis.console.entities.scheduler_paused import SchedulerPaused
5
+ from orionis.console.entities.scheduler_resumed import SchedulerResumed
6
+ from orionis.console.entities.scheduler_shutdown import SchedulerShutdown
7
+ from orionis.console.entities.scheduler_started import SchedulerStarted
8
+
9
+ class IBaseScheduler(ABC):
10
+
11
+ @abstractmethod
12
+ async def tasks(self, schedule: ISchedule):
13
+ """
14
+ Defines and registers scheduled tasks for the application.
15
+
16
+ This method is responsible for setting up the tasks that the scheduler will execute.
17
+ It uses the provided `schedule` object to define the properties and behavior of each task.
18
+
19
+ Parameters
20
+ ----------
21
+ schedule : ISchedule
22
+ The schedule object used to define and register scheduled commands.
23
+
24
+ Returns
25
+ -------
26
+ None
27
+ This method does not return any value. It is used solely for task registration.
28
+
29
+ Notes
30
+ -----
31
+ Subclasses must override this method to implement their specific task scheduling logic.
32
+ The method should define the tasks, their execution intervals, and any additional
33
+ properties or constraints required for the tasks.
34
+ """
35
+ pass
36
+
37
+ @abstractmethod
38
+ async def onStarted(self, event: SchedulerStarted, schedule: ISchedule):
39
+ """
40
+ Handles the event triggered when the scheduler has started successfully.
41
+
42
+ This method is invoked when the scheduler begins its operation. It processes
43
+ the `SchedulerStarted` event and performs any necessary initialization or logging
44
+ tasks associated with the start of the scheduler.
45
+
46
+ Parameters
47
+ ----------
48
+ event : SchedulerStarted
49
+ The event object containing details about the scheduler start event.
50
+ schedule : ISchedule
51
+ The schedule instance associated with the started scheduler.
52
+
53
+ Returns
54
+ -------
55
+ None
56
+ This method does not return any value. It is used for handling the
57
+ scheduler start event and performing related actions.
58
+
59
+ Notes
60
+ -----
61
+ This method calls the parent class's `onStarted` method to ensure that
62
+ any base functionality is executed.
63
+ """
64
+ pass
65
+
66
+ @abstractmethod
67
+ async def onPaused(self, event: SchedulerPaused, schedule: ISchedule):
68
+ """
69
+ Handles the event triggered when the scheduler is paused.
70
+
71
+ This method is invoked when the scheduler pauses its operation. It processes
72
+ the `SchedulerPaused` event and performs any necessary actions or logging
73
+ tasks associated with the pause of the scheduler.
74
+
75
+ Parameters
76
+ ----------
77
+ event : SchedulerPaused
78
+ The event object containing details about the scheduler pause event.
79
+ schedule : ISchedule
80
+ The schedule instance associated with the paused scheduler.
81
+
82
+ Returns
83
+ -------
84
+ None
85
+ This method does not return any value. It is used for handling the
86
+ scheduler pause event and performing related actions.
87
+
88
+ Notes
89
+ -----
90
+ This method calls the parent class's `onPaused` method to ensure that
91
+ any base functionality is executed.
92
+ """
93
+ pass
94
+
95
+ @abstractmethod
96
+ async def onResumed(self, event: SchedulerResumed, schedule: ISchedule):
97
+ """
98
+ Handles the event triggered when the scheduler is resumed.
99
+
100
+ This method is invoked when the scheduler resumes its operation after being paused.
101
+ It processes the `SchedulerResumed` event and performs any necessary actions or logging
102
+ tasks associated with the resumption of the scheduler.
103
+
104
+ Parameters
105
+ ----------
106
+ event : SchedulerResumed
107
+ The event object containing details about the scheduler resumption, such as the
108
+ timestamp of the resumption and any relevant metadata.
109
+ schedule : ISchedule
110
+ The schedule instance associated with the resumed scheduler, which can be used
111
+ to interact with or modify the scheduler's tasks.
112
+
113
+ Returns
114
+ -------
115
+ None
116
+ This method does not return any value. It is used for handling the scheduler
117
+ resumption event and performing related actions.
118
+
119
+ Notes
120
+ -----
121
+ This method calls the parent class's `onResumed` method to ensure that any base
122
+ functionality is executed. This allows the scheduler to maintain its default behavior
123
+ while enabling additional custom actions during the resumption process.
124
+ """
125
+ pass
126
+
127
+ @abstractmethod
128
+ async def onFinalized(self, event: SchedulerShutdown, schedule: ISchedule):
129
+ """
130
+ Handles the event triggered when the scheduler has been finalized.
131
+
132
+ This method is invoked after the scheduler has completed its shutdown process.
133
+ It processes the `SchedulerShutdown` event and performs any necessary cleanup
134
+ or logging tasks associated with the finalization of the scheduler.
135
+
136
+ Parameters
137
+ ----------
138
+ event : SchedulerShutdown
139
+ The event object containing details about the scheduler shutdown, such as
140
+ the timestamp of the shutdown and any relevant metadata.
141
+ schedule : ISchedule
142
+ The schedule instance associated with the finalized scheduler, which can be
143
+ used to interact with or inspect the scheduler's tasks.
144
+
145
+ Returns
146
+ -------
147
+ None
148
+ This method does not return any value. It is used for handling the scheduler
149
+ shutdown event and performing related actions.
150
+
151
+ Notes
152
+ -----
153
+ This method calls the parent class's `onFinalized` method to ensure that any base
154
+ functionality is executed. This allows the scheduler to maintain its default behavior
155
+ while enabling additional custom actions during the finalization process.
156
+ """
157
+ pass
158
+
159
+ @abstractmethod
160
+ async def onError(self, event: JobError, schedule: ISchedule):
161
+ """
162
+ Handles the event triggered when a job encounters an error during execution.
163
+
164
+ This method is invoked when a job fails due to an exception. It processes the `JobError`
165
+ event and performs any necessary actions, such as logging the error details or notifying
166
+ relevant systems about the failure.
167
+
168
+ Parameters
169
+ ----------
170
+ event : JobError
171
+ The event object containing details about the job error, including the job ID,
172
+ the exception that occurred, and any relevant metadata.
173
+ schedule : ISchedule
174
+ The schedule instance associated with the job, which can be used to interact with
175
+ or modify the scheduler's tasks.
176
+
177
+ Returns
178
+ -------
179
+ None
180
+ This method does not return any value. It is used for handling the job error event
181
+ and performing related actions, such as logging or cleanup.
182
+
183
+ Notes
184
+ -----
185
+ This method calls the parent class's `onError` method to ensure that any base functionality
186
+ is executed. This allows the scheduler to maintain its default behavior while enabling
187
+ additional custom actions during error handling.
188
+ """
189
+ pass
@@ -3,6 +3,7 @@ from datetime import datetime
3
3
  import logging
4
4
  from typing import Dict, List, Optional, Union
5
5
  import pytz
6
+ from apscheduler.triggers.date import DateTrigger
6
7
  from apscheduler.events import (
7
8
  EVENT_SCHEDULER_STARTED,
8
9
  EVENT_SCHEDULER_PAUSED,
@@ -288,7 +289,7 @@ class Scheduler(ISchedule):
288
289
  # Return the Event instance for further scheduling configuration
289
290
  return self.__events[signature]
290
291
 
291
- def __suscribeListeners(
292
+ def __subscribeListeners(
292
293
  self
293
294
  ) -> None:
294
295
  """
@@ -366,12 +367,16 @@ class Scheduler(ISchedule):
366
367
 
367
368
  # Ensure the listener is callable before invoking it
368
369
  if callable(listener):
369
- # If the listener is a coroutine, schedule it as an asyncio task
370
- if asyncio.iscoroutinefunction(listener):
371
- asyncio.create_task(listener(event_data, self))
372
- # Otherwise, invoke the listener directly as a regular function
373
- else:
374
- listener(event_data, self)
370
+ try:
371
+ # If the listener is a coroutine, schedule it as an asyncio task
372
+ if asyncio.iscoroutinefunction(listener):
373
+ asyncio.create_task(listener(event_data, self))
374
+ # Otherwise, invoke the listener directly as a regular function
375
+ else:
376
+ listener(event_data, self)
377
+ except Exception as e:
378
+ # Log any exceptions that occur during listener invocation
379
+ self.__logger.error(f"Error invoking global listener for event '{scheduler_event}': {str(e)}")
375
380
 
376
381
  def __taskCallableListener(
377
382
  self,
@@ -411,6 +416,10 @@ class Scheduler(ISchedule):
411
416
  if not isinstance(listening_vent, ListeningEvent):
412
417
  raise CLIOrionisValueError("The event must be an instance of ListeningEvent.")
413
418
 
419
+ # Validate that event_data is not None and has a job_id attribute
420
+ if event_data is None or not hasattr(event_data, 'job_id'):
421
+ return
422
+
414
423
  # Retrieve the global identifier for the event from the ListeningEvent enum
415
424
  scheduler_event = listening_vent.value
416
425
 
@@ -427,13 +436,17 @@ class Scheduler(ISchedule):
427
436
  if hasattr(listener, scheduler_event) and callable(getattr(listener, scheduler_event)):
428
437
  listener_method = getattr(listener, scheduler_event)
429
438
 
430
- # Invoke the listener method, handling both coroutine and regular functions
431
- if asyncio.iscoroutinefunction(listener_method):
432
- # Schedule the coroutine listener method as an asyncio task
433
- asyncio.create_task(listener_method(event_data, self))
434
- else:
435
- # Call the regular listener method directly
436
- listener_method(event_data, self)
439
+ try:
440
+ # Invoke the listener method, handling both coroutine and regular functions
441
+ if asyncio.iscoroutinefunction(listener_method):
442
+ # Schedule the coroutine listener method as an asyncio task
443
+ asyncio.create_task(listener_method(event_data, self))
444
+ else:
445
+ # Call the regular listener method directly
446
+ listener_method(event_data, self)
447
+ except Exception as e:
448
+ # Log any exceptions that occur during listener invocation
449
+ self.__logger.error(f"Error invoking listener method '{scheduler_event}' for job '{event_data.job_id}': {str(e)}")
437
450
 
438
451
  def __startedListener(
439
452
  self,
@@ -524,7 +537,7 @@ class Scheduler(ISchedule):
524
537
  # Log an informational message indicating that the scheduler has been paused
525
538
  self.__logger.info(message)
526
539
 
527
- # Check if a listener is registered for the scheduler started event
540
+ # Check if a listener is registered for the scheduler paused event
528
541
  self.__globalCallableListener(event, ListeningEvent.SCHEDULER_PAUSED)
529
542
 
530
543
  def __resumedListener(
@@ -561,7 +574,7 @@ class Scheduler(ISchedule):
561
574
  # Log an informational message indicating that the scheduler has resumed
562
575
  self.__logger.info(message)
563
576
 
564
- # Check if a listener is registered for the scheduler started event
577
+ # Check if a listener is registered for the scheduler resumed event
565
578
  self.__globalCallableListener(event, ListeningEvent.SCHEDULER_RESUMED)
566
579
 
567
580
  def __shutdownListener(
@@ -598,7 +611,7 @@ class Scheduler(ISchedule):
598
611
  # Log an informational message indicating that the scheduler has shut down
599
612
  self.__logger.info(message)
600
613
 
601
- # Check if a listener is registered for the scheduler started event
614
+ # Check if a listener is registered for the scheduler shutdown event
602
615
  self.__globalCallableListener(event, ListeningEvent.SCHEDULER_SHUTDOWN)
603
616
 
604
617
  def __errorListener(
@@ -878,11 +891,11 @@ class Scheduler(ISchedule):
878
891
  self.__jobs.append(entity)
879
892
 
880
893
  # Create a unique key for the job based on its signature
894
+ def create_job_func(cmd, args_list):
895
+ return lambda: self.__reactor.call(cmd, args_list)
896
+
881
897
  self.__scheduler.add_job(
882
- func= lambda command=signature, args=list(entity.args): self.__reactor.call(
883
- command,
884
- args
885
- ),
898
+ func=create_job_func(signature, list(entity.args)),
886
899
  trigger=entity.trigger,
887
900
  id=signature,
888
901
  name=signature,
@@ -979,8 +992,7 @@ class Scheduler(ISchedule):
979
992
  # Add a job to the scheduler to pause it at the specified datetime
980
993
  self.__scheduler.add_job(
981
994
  func=self.__scheduler.pause, # Function to pause the scheduler
982
- trigger='date', # Trigger type is 'date' for one-time execution
983
- run_date=at, # The datetime at which the job will run
995
+ trigger=DateTrigger(run_date=at), # Trigger type is 'date' for one-time execution
984
996
  id=f"pause_scheduler_at_{at.isoformat()}", # Unique job ID based on the datetime
985
997
  name=f"Pause Scheduler at {at.isoformat()}", # Descriptive name for the job
986
998
  replace_existing=True # Replace any existing job with the same ID
@@ -1022,8 +1034,7 @@ class Scheduler(ISchedule):
1022
1034
  # Add a job to the scheduler to resume it at the specified datetime
1023
1035
  self.__scheduler.add_job(
1024
1036
  func=self.__scheduler.resume, # Function to resume the scheduler
1025
- trigger='date', # Trigger type is 'date' for one-time execution
1026
- run_date=at, # The datetime at which the job will run
1037
+ trigger=DateTrigger(run_date=at), # Trigger type is 'date' for one-time execution
1027
1038
  id=f"resume_scheduler_at_{at.isoformat()}", # Unique job ID based on the datetime
1028
1039
  name=f"Resume Scheduler at {at.isoformat()}", # Descriptive name for the job
1029
1040
  replace_existing=True # Replace any existing job with the same ID
@@ -1065,8 +1076,7 @@ class Scheduler(ISchedule):
1065
1076
  # Add a job to the scheduler to shut it down at the specified datetime
1066
1077
  self.__scheduler.add_job(
1067
1078
  func=self.__scheduler.shutdown, # Function to shut down the scheduler
1068
- trigger='date', # Trigger type is 'date' for one-time execution
1069
- run_date=at, # The datetime at which the job will run
1079
+ trigger=DateTrigger(run_date=at), # Trigger type is 'date' for one-time execution
1070
1080
  id=f"shutdown_scheduler_at_{at.isoformat()}", # Unique job ID based on the datetime
1071
1081
  name=f"Shutdown Scheduler at {at.isoformat()}", # Descriptive name for the job
1072
1082
  replace_existing=True # Replace any existing job with the same ID
@@ -1093,7 +1103,7 @@ class Scheduler(ISchedule):
1093
1103
  self.__loadEvents()
1094
1104
 
1095
1105
  # Subscribe to scheduler events for monitoring and handling
1096
- self.__suscribeListeners()
1106
+ self.__subscribeListeners()
1097
1107
 
1098
1108
  # Ensure we're in an asyncio context
1099
1109
  asyncio.get_running_loop()
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.517.0"
8
+ VERSION = "0.519.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orionis
3
- Version: 0.517.0
3
+ Version: 0.519.0
4
4
  Summary: Orionis Framework – Elegant, Fast, and Powerful.
5
5
  Home-page: https://github.com/orionis-framework/framework
6
6
  Author: Raul Mauricio Uñate Castro
@@ -1,120 +0,0 @@
1
- from datetime import datetime
2
- from orionis.console.contracts.scheduler import IBaseScheduler
3
- from orionis.console.contracts.schedule import ISchedule
4
-
5
- class BaseScheduler(IBaseScheduler):
6
-
7
- # Pause Global Scheduler at a specific time
8
- PAUSE_AT: datetime = None
9
-
10
- # Resume Global Scheduler at a specific time
11
- RESUME_AT: datetime = None
12
-
13
- # Finalize Global Scheduler at a specific time
14
- FINALIZE_AT: datetime = None
15
-
16
- async def tasks(self, schedule: ISchedule):
17
- """
18
- Defines and registers scheduled tasks for the application.
19
-
20
- Parameters
21
- ----------
22
- schedule : ISchedule
23
- The schedule object used to define and register scheduled commands.
24
-
25
- Returns
26
- -------
27
- None
28
- This method does not return any value. It is intended to be overridden
29
- by subclasses to specify scheduled tasks.
30
- """
31
- # Placeholder for task registration logic
32
- pass
33
-
34
- async def onStarted(self):
35
- """
36
- Called when the scheduler is started.
37
-
38
- Returns
39
- -------
40
- None
41
- This method does not return any value.
42
-
43
- Notes
44
- -----
45
- Intended to be overridden by subclasses to implement custom behavior that should
46
- occur when the scheduler starts running.
47
- """
48
- # Placeholder for logic to execute when the scheduler starts
49
- pass
50
-
51
- async def onPaused(self):
52
- """
53
- Called when the scheduler is paused.
54
-
55
- Returns
56
- -------
57
- None
58
- This method does not return any value.
59
-
60
- Notes
61
- -----
62
- Should be overridden to define custom behavior that occurs when the scheduler
63
- enters a paused state.
64
- """
65
- # Placeholder for logic to execute when the scheduler is paused
66
- pass
67
-
68
- async def onResumed(self):
69
- """
70
- Called when the scheduler is resumed from a paused state.
71
-
72
- Returns
73
- -------
74
- None
75
- This method does not return any value.
76
-
77
- Notes
78
- -----
79
- Should be overridden to implement any actions that need to occur when the
80
- scheduler resumes operation.
81
- """
82
- # Placeholder for logic to execute when the scheduler is resumed
83
- pass
84
-
85
- async def onFinalized(self):
86
- """
87
- Called when the scheduler has completed its execution and is being finalized.
88
-
89
- Returns
90
- -------
91
- None
92
- This method does not return any value.
93
-
94
- Notes
95
- -----
96
- Can be overridden to perform any necessary cleanup or finalization tasks.
97
- """
98
- # Placeholder for logic to execute when the scheduler is finalized
99
- pass
100
-
101
- async def onError(self, error: Exception):
102
- """
103
- Handles errors that occur within the scheduler.
104
-
105
- Parameters
106
- ----------
107
- error : Exception
108
- The exception instance representing the error that occurred.
109
-
110
- Returns
111
- -------
112
- None
113
- This method does not return any value.
114
-
115
- Notes
116
- -----
117
- Can be overridden to implement custom error handling logic for the scheduler.
118
- """
119
- # Placeholder for logic to handle errors in the scheduler
120
- pass