orionis 0.90.0__tar.gz → 0.93.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 (175) hide show
  1. {orionis-0.90.0/orionis.egg-info → orionis-0.93.0}/PKG-INFO +1 -1
  2. orionis-0.90.0/orionis/contracts/console/tasks/i_schedule.py → orionis-0.93.0/orionis/contracts/services/commands/i_schedule_service.py +1 -1
  3. {orionis-0.90.0 → orionis-0.93.0}/orionis/framework.py +1 -1
  4. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/app.py +6 -0
  5. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/commands/schedule_work.py +12 -6
  6. orionis-0.93.0/orionis/luminate/providers/commands/scheduler_provider.py +19 -0
  7. orionis-0.90.0/orionis/luminate/console/tasks/scheduler.py → orionis-0.93.0/orionis/luminate/services/commands/scheduler_service.py +5 -8
  8. {orionis-0.90.0 → orionis-0.93.0/orionis.egg-info}/PKG-INFO +1 -1
  9. {orionis-0.90.0 → orionis-0.93.0}/orionis.egg-info/SOURCES.txt +3 -4
  10. orionis-0.90.0/tests/__init__.py +0 -0
  11. orionis-0.90.0/tests/tools/__init__.py +0 -0
  12. {orionis-0.90.0 → orionis-0.93.0}/LICENCE +0 -0
  13. {orionis-0.90.0 → orionis-0.93.0}/MANIFEST.in +0 -0
  14. {orionis-0.90.0 → orionis-0.93.0}/README.md +0 -0
  15. {orionis-0.90.0 → orionis-0.93.0}/orionis/__init__.py +0 -0
  16. {orionis-0.90.0 → orionis-0.93.0}/orionis/cli_manager.py +0 -0
  17. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/__init__.py +0 -0
  18. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/bootstrap/i_command_bootstrapper.py +0 -0
  19. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/bootstrap/i_config_bootstrapper.py +0 -0
  20. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/bootstrap/i_environment_bootstrapper.py +0 -0
  21. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/config/__init__.py +0 -0
  22. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/config/i_config.py +0 -0
  23. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/__init__.py +0 -0
  24. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/base/__init__.py +0 -0
  25. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/base/i_command.py +0 -0
  26. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/i_command_filter.py +0 -0
  27. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/i_kernel.py +0 -0
  28. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/i_parser.py +0 -0
  29. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/i_task_manager.py +0 -0
  30. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/output/__init__.py +0 -0
  31. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/output/i_console.py +0 -0
  32. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/output/i_executor.py +0 -0
  33. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/console/output/i_progress_bar.py +0 -0
  34. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/container/i_container.py +0 -0
  35. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/container/i_types.py +0 -0
  36. {orionis-0.90.0/orionis/contracts/console/tasks → orionis-0.93.0/orionis/contracts/facades}/__init__.py +0 -0
  37. {orionis-0.90.0/orionis/contracts/facades → orionis-0.93.0/orionis/contracts/facades/commands}/__init__.py +0 -0
  38. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/facades/commands/i_commands_facade.py +0 -0
  39. {orionis-0.90.0/orionis/contracts/facades/commands → orionis-0.93.0/orionis/contracts/facades/config}/__init__.py +0 -0
  40. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/facades/config/i_config_facade.py +0 -0
  41. {orionis-0.90.0/orionis/contracts/facades/config → orionis-0.93.0/orionis/contracts/facades/environment}/__init__.py +0 -0
  42. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/facades/environment/i_environment_facade.py +0 -0
  43. {orionis-0.90.0/orionis/contracts/facades/environment → orionis-0.93.0/orionis/contracts/facades/files}/__init__.py +0 -0
  44. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/facades/files/i_path_facade.py +0 -0
  45. {orionis-0.90.0/orionis/contracts/facades/files → orionis-0.93.0/orionis/contracts/facades/log}/__init__.py +0 -0
  46. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/facades/log/i_log_facade.py +0 -0
  47. {orionis-0.90.0/orionis/contracts/facades/log → orionis-0.93.0/orionis/contracts/facades/tests}/__init__.py +0 -0
  48. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/facades/tests/i_tests_facade.py +0 -0
  49. {orionis-0.90.0/orionis/contracts/facades/tests → orionis-0.93.0/orionis/contracts/installer}/__init__.py +0 -0
  50. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/installer/i_installer_manager.py +0 -0
  51. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/installer/i_installer_output.py +0 -0
  52. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/installer/i_installer_setup.py +0 -0
  53. {orionis-0.90.0/orionis/contracts/installer → orionis-0.93.0/orionis/contracts/providers}/__init__.py +0 -0
  54. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/providers/i_service_provider.py +0 -0
  55. {orionis-0.90.0/orionis/contracts/providers → orionis-0.93.0/orionis/contracts/services}/__init__.py +0 -0
  56. {orionis-0.90.0/orionis/contracts/services → orionis-0.93.0/orionis/contracts/services/commands}/__init__.py +0 -0
  57. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/services/commands/i_reactor_commands_service.py +0 -0
  58. {orionis-0.90.0/orionis/contracts/services/commands → orionis-0.93.0/orionis/contracts/services/config}/__init__.py +0 -0
  59. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/services/config/i_config_service.py +0 -0
  60. {orionis-0.90.0/orionis/contracts/services/config → orionis-0.93.0/orionis/contracts/services/environment}/__init__.py +0 -0
  61. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/services/environment/i_environment_service.py +0 -0
  62. {orionis-0.90.0/orionis/contracts/services/environment → orionis-0.93.0/orionis/contracts/services/files}/__init__.py +0 -0
  63. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/services/files/i_path_resolver_service.py +0 -0
  64. {orionis-0.90.0/orionis/contracts/services/files → orionis-0.93.0/orionis/contracts/services/log}/__init__.py +0 -0
  65. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/services/log/i_log_service.py +0 -0
  66. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/support/i_exception_to_dict.py +0 -0
  67. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/support/i_reflection.py +0 -0
  68. {orionis-0.90.0 → orionis-0.93.0}/orionis/contracts/support/i_std.py +0 -0
  69. {orionis-0.90.0/orionis/contracts/services/log → orionis-0.93.0/orionis/installer}/__init__.py +0 -0
  70. {orionis-0.90.0 → orionis-0.93.0}/orionis/installer/installer_manager.py +0 -0
  71. {orionis-0.90.0 → orionis-0.93.0}/orionis/installer/installer_output.py +0 -0
  72. {orionis-0.90.0 → orionis-0.93.0}/orionis/installer/installer_setup.py +0 -0
  73. {orionis-0.90.0/orionis/installer → orionis-0.93.0/orionis/luminate}/__init__.py +0 -0
  74. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/app_context.py +0 -0
  75. {orionis-0.90.0/orionis/luminate → orionis-0.93.0/orionis/luminate/bootstrap}/__init__.py +0 -0
  76. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/bootstrap/command_bootstrapper.py +0 -0
  77. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/bootstrap/config_bootstrapper.py +0 -0
  78. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/bootstrap/environment_bootstrapper.py +0 -0
  79. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/bootstrap/exception_bootstrapper.py +0 -0
  80. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/bootstrap/service_providers_bootstrapper.py +0 -0
  81. {orionis-0.90.0/orionis/luminate/bootstrap → orionis-0.93.0/orionis/luminate/config}/__init__.py +0 -0
  82. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/config/app.py +0 -0
  83. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/config/auth.py +0 -0
  84. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/config/cache.py +0 -0
  85. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/config/cors.py +0 -0
  86. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/config/database.py +0 -0
  87. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/config/filesystems.py +0 -0
  88. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/config/logging.py +0 -0
  89. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/config/mail.py +0 -0
  90. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/config/queue.py +0 -0
  91. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/config/session.py +0 -0
  92. {orionis-0.90.0/orionis/luminate/config → orionis-0.93.0/orionis/luminate/console}/__init__.py +0 -0
  93. {orionis-0.90.0/orionis/luminate/console → orionis-0.93.0/orionis/luminate/console/base}/__init__.py +0 -0
  94. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/base/command.py +0 -0
  95. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/command_filter.py +0 -0
  96. {orionis-0.90.0/orionis/luminate/console/base → orionis-0.93.0/orionis/luminate/console/commands}/__init__.py +0 -0
  97. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/commands/cache_clear.py +0 -0
  98. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/commands/help.py +0 -0
  99. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/commands/tests.py +0 -0
  100. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/commands/version.py +0 -0
  101. {orionis-0.90.0/orionis/luminate/console/commands → orionis-0.93.0/orionis/luminate/console/exceptions}/__init__.py +0 -0
  102. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/exceptions/cli_exception.py +0 -0
  103. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/kernel.py +0 -0
  104. {orionis-0.90.0/orionis/luminate/console/exceptions → orionis-0.93.0/orionis/luminate/console/output}/__init__.py +0 -0
  105. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/output/console.py +0 -0
  106. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/output/executor.py +0 -0
  107. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/output/progress_bar.py +0 -0
  108. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/output/styles.py +0 -0
  109. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/console/parser.py +0 -0
  110. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/container/container.py +0 -0
  111. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/container/exception.py +0 -0
  112. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/container/types.py +0 -0
  113. {orionis-0.90.0/orionis/luminate/console/output → orionis-0.93.0/orionis/luminate/facades}/__init__.py +0 -0
  114. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/facades/app.py +0 -0
  115. {orionis-0.90.0/orionis/luminate/console/tasks → orionis-0.93.0/orionis/luminate/facades/commands}/__init__.py +0 -0
  116. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/facades/commands/commands_facade.py +0 -0
  117. {orionis-0.90.0/orionis/luminate/facades → orionis-0.93.0/orionis/luminate/facades/config}/__init__.py +0 -0
  118. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/facades/config/config_facade.py +0 -0
  119. {orionis-0.90.0/orionis/luminate/facades/commands → orionis-0.93.0/orionis/luminate/facades/environment}/__init__.py +0 -0
  120. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/facades/environment/environment_facade.py +0 -0
  121. {orionis-0.90.0/orionis/luminate/facades/config → orionis-0.93.0/orionis/luminate/facades/files}/__init__.py +0 -0
  122. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/facades/files/path_facade.py +0 -0
  123. {orionis-0.90.0/orionis/luminate/facades/environment → orionis-0.93.0/orionis/luminate/facades/log}/__init__.py +0 -0
  124. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/facades/log/log_facade.py +0 -0
  125. {orionis-0.90.0/orionis/luminate/facades/files → orionis-0.93.0/orionis/luminate/facades/tests}/__init__.py +0 -0
  126. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/facades/tests/tests_facade.py +0 -0
  127. {orionis-0.90.0/orionis/luminate/facades/log → orionis-0.93.0/orionis/luminate/patterns}/__init__.py +0 -0
  128. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/patterns/singleton.py +0 -0
  129. {orionis-0.90.0/orionis/luminate/facades/tests → orionis-0.93.0/orionis/luminate/providers}/__init__.py +0 -0
  130. {orionis-0.90.0/orionis/luminate/patterns → orionis-0.93.0/orionis/luminate/providers/commands}/__init__.py +0 -0
  131. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/providers/commands/reactor_commands_service_provider.py +0 -0
  132. {orionis-0.90.0/orionis/luminate/providers → orionis-0.93.0/orionis/luminate/providers/config}/__init__.py +0 -0
  133. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/providers/config/config_service_provider.py +0 -0
  134. {orionis-0.90.0/orionis/luminate/providers/commands → orionis-0.93.0/orionis/luminate/providers/environment}/__init__.py +0 -0
  135. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/providers/environment/environment__service_provider.py +0 -0
  136. {orionis-0.90.0/orionis/luminate/providers/config → orionis-0.93.0/orionis/luminate/providers/log}/__init__.py +0 -0
  137. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/providers/log/log_service_provider.py +0 -0
  138. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/providers/service_provider.py +0 -0
  139. {orionis-0.90.0/orionis/luminate/providers/environment → orionis-0.93.0/orionis/luminate/services}/__init__.py +0 -0
  140. {orionis-0.90.0/orionis/luminate/providers/log → orionis-0.93.0/orionis/luminate/services/commands}/__init__.py +0 -0
  141. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/services/commands/reactor_commands_service.py +0 -0
  142. {orionis-0.90.0/orionis/luminate/services → orionis-0.93.0/orionis/luminate/services/config}/__init__.py +0 -0
  143. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/services/config/config_service.py +0 -0
  144. {orionis-0.90.0/orionis/luminate/services/commands → orionis-0.93.0/orionis/luminate/services/environment}/__init__.py +0 -0
  145. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/services/environment/environment_service.py +0 -0
  146. {orionis-0.90.0/orionis/luminate/services/config → orionis-0.93.0/orionis/luminate/services/files}/__init__.py +0 -0
  147. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/services/files/path_resolver_service.py +0 -0
  148. {orionis-0.90.0/orionis/luminate/services/environment → orionis-0.93.0/orionis/luminate/services/log}/__init__.py +0 -0
  149. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/services/log/log_service.py +0 -0
  150. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/support/dot_dict.py +0 -0
  151. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/support/exception_to_dict.py +0 -0
  152. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/support/reflection.py +0 -0
  153. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/support/std.py +0 -0
  154. {orionis-0.90.0/orionis/luminate/services/files → orionis-0.93.0/orionis/luminate/test}/__init__.py +0 -0
  155. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/test/exception.py +0 -0
  156. {orionis-0.90.0 → orionis-0.93.0}/orionis/luminate/test/unit_test.py +0 -0
  157. {orionis-0.90.0 → orionis-0.93.0}/orionis/static/ascii/icon.ascii +0 -0
  158. {orionis-0.90.0 → orionis-0.93.0}/orionis/static/ascii/info.ascii +0 -0
  159. {orionis-0.90.0 → orionis-0.93.0}/orionis/static/bg/galaxy.jpg +0 -0
  160. {orionis-0.90.0 → orionis-0.93.0}/orionis/static/favicon/OrionisFrameworkFavicon.png +0 -0
  161. {orionis-0.90.0 → orionis-0.93.0}/orionis/static/logos/OrionisFramework.jpg +0 -0
  162. {orionis-0.90.0 → orionis-0.93.0}/orionis/static/logos/OrionisFramework.png +0 -0
  163. {orionis-0.90.0 → orionis-0.93.0}/orionis/static/logos/OrionisFramework.psd +0 -0
  164. {orionis-0.90.0 → orionis-0.93.0}/orionis/static/logos/OrionisFramework2.png +0 -0
  165. {orionis-0.90.0 → orionis-0.93.0}/orionis/static/logos/OrionisFramework3.png +0 -0
  166. {orionis-0.90.0 → orionis-0.93.0}/orionis.egg-info/dependency_links.txt +0 -0
  167. {orionis-0.90.0 → orionis-0.93.0}/orionis.egg-info/entry_points.txt +0 -0
  168. {orionis-0.90.0 → orionis-0.93.0}/orionis.egg-info/requires.txt +0 -0
  169. {orionis-0.90.0 → orionis-0.93.0}/orionis.egg-info/top_level.txt +0 -0
  170. {orionis-0.90.0 → orionis-0.93.0}/setup.cfg +0 -0
  171. {orionis-0.90.0 → orionis-0.93.0}/setup.py +0 -0
  172. {orionis-0.90.0/orionis/luminate/services/log → orionis-0.93.0/tests}/__init__.py +0 -0
  173. {orionis-0.90.0/orionis/luminate/test → orionis-0.93.0/tests/tools}/__init__.py +0 -0
  174. {orionis-0.90.0 → orionis-0.93.0}/tests/tools/class_example.py +0 -0
  175. {orionis-0.90.0 → orionis-0.93.0}/tests/tools/test_reflection.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.90.0
3
+ Version: 0.93.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
@@ -3,7 +3,7 @@ from typing import Any
3
3
  from datetime import datetime
4
4
  from abc import ABC, abstractmethod
5
5
 
6
- class ISchedule(ABC):
6
+ class IScheduleService(ABC):
7
7
  """
8
8
  A class that manages the scheduling of tasks using the APScheduler.
9
9
 
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.90.0"
8
+ VERSION = "0.93.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
@@ -5,6 +5,7 @@ from orionis.luminate.bootstrap.command_bootstrapper import CommandsBootstrapper
5
5
  from orionis.luminate.bootstrap.environment_bootstrapper import EnvironmentBootstrapper
6
6
  from orionis.luminate.patterns.singleton import SingletonMeta
7
7
  from orionis.luminate.providers.commands.reactor_commands_service_provider import ReactorCommandsServiceProvider
8
+ from orionis.luminate.providers.commands.scheduler_provider import ScheduleServiceProvider
8
9
  from orionis.luminate.providers.environment.environment__service_provider import EnvironmentServiceProvider
9
10
  from orionis.luminate.providers.config.config_service_provider import ConfigServiceProvider
10
11
  from orionis.luminate.providers.log.log_service_provider import LogServiceProvider
@@ -265,6 +266,11 @@ class Application(metaclass=SingletonMeta):
265
266
  _log_provider.register()
266
267
  _log_provider.boot()
267
268
 
269
+ # Load the scheduler provider, which is responsible for managing scheduled tasks.
270
+ _schedule_provider = ScheduleServiceProvider(app=self.container)
271
+ _schedule_provider.register()
272
+ _schedule_provider.boot()
273
+
268
274
  # Load the commands provider, which is responsible for executing and managing CLI commands.
269
275
  # Developers can interact with it through the facade "orionis.luminate.facades.commands.commands_facade.Commands".
270
276
  _commands_provider = ReactorCommandsServiceProvider(app=self.container)
@@ -1,8 +1,8 @@
1
1
  import importlib
2
2
  from orionis.luminate.console.base.command import BaseCommand
3
3
  from orionis.luminate.console.exceptions.cli_exception import CLIOrionisRuntimeError
4
- from orionis.luminate.console.tasks.scheduler import Schedule
5
4
  from orionis.contracts.console.i_task_manager import ITaskManager
5
+ from orionis.luminate.services.commands.scheduler_service import ScheduleService
6
6
 
7
7
  class ScheduleWorkCommand(BaseCommand):
8
8
  """
@@ -18,6 +18,15 @@ class ScheduleWorkCommand(BaseCommand):
18
18
  # A brief description of the command.
19
19
  description = "Starts the scheduled tasks."
20
20
 
21
+ def __init__(self, schedule:ScheduleService) -> None:
22
+ """
23
+ Initialize a new instance of the ScheduleWorkCommand class.
24
+
25
+ Args:
26
+ schedule (ScheduleService): The schedule instance to use for scheduling tasks.
27
+ """
28
+ self.schedule = schedule
29
+
21
30
  def handle(self) -> None:
22
31
  """
23
32
  Execute the scheduled tasks.
@@ -33,17 +42,14 @@ class ScheduleWorkCommand(BaseCommand):
33
42
  """
34
43
  try:
35
44
 
36
- # Initialize a new Schedule instance.
37
- schedule = Schedule()
38
-
39
45
  # Create an instance of the TaskManager to manage the scheduling.
40
46
  tasks_manager = importlib.import_module("app.console.tasks_manager")
41
47
  TaskManager = getattr(tasks_manager, "TaskManager")
42
48
  kernel: ITaskManager = TaskManager()
43
- kernel.schedule(schedule)
49
+ kernel.schedule(self.schedule)
44
50
 
45
51
  # Start running the scheduled tasks using the schedule runner.
46
- schedule.start()
52
+ self.schedule.start()
47
53
 
48
54
  except Exception as e:
49
55
 
@@ -0,0 +1,19 @@
1
+ from orionis.luminate.providers.service_provider import ServiceProvider
2
+ from orionis.luminate.services.commands.scheduler_service import ScheduleService
3
+
4
+ class ScheduleServiceProvider(ServiceProvider):
5
+
6
+ def register(self) -> None:
7
+ """
8
+ Registers services or bindings into the given container.
9
+ """
10
+ self._container_id = self.app.bind(ScheduleService)
11
+
12
+ def boot(self,) -> None:
13
+ """
14
+ Boot the service provider.
15
+
16
+ This method is intended to be overridden by subclasses to perform
17
+ any necessary bootstrapping or initialization tasks.
18
+ """
19
+ self.app.make(self._container_id)
@@ -7,11 +7,11 @@ from typing import Any
7
7
  from apscheduler.schedulers.background import BackgroundScheduler
8
8
  from apscheduler.triggers.cron import CronTrigger
9
9
  from apscheduler.triggers.interval import IntervalTrigger
10
- from orionis.contracts.console.tasks.i_schedule import ISchedule
10
+ from orionis.contracts.services.commands.i_schedule_service import IScheduleService
11
11
  from orionis.luminate.console.exceptions.cli_exception import CLIOrionisScheduleException
12
12
  from orionis.luminate.facades.commands.commands_facade import Command
13
13
 
14
- class Schedule(ISchedule):
14
+ class ScheduleService(IScheduleService):
15
15
  """
16
16
  A class that manages the scheduling of tasks using the APScheduler.
17
17
 
@@ -28,7 +28,7 @@ class Schedule(ISchedule):
28
28
  Defines a command to execute.
29
29
  """
30
30
 
31
- def __init__(self, logger_level=logging.CRITICAL):
31
+ def __init__(self, apscheduler_background : BackgroundScheduler, logger_level=logging.CRITICAL):
32
32
  """
33
33
  Initializes the Schedule object.
34
34
 
@@ -40,12 +40,12 @@ class Schedule(ISchedule):
40
40
  The logging level for the APScheduler logger. Default is `logging.CRITICAL` to suppress most logs.
41
41
  """
42
42
  logging.getLogger("apscheduler").setLevel(logger_level)
43
- self.scheduler = BackgroundScheduler()
43
+ self.scheduler = apscheduler_background
44
44
  self.scheduler.start()
45
45
  self.callback = None
46
46
  self.wait = True
47
47
 
48
- def command(self, signature: str, vars: dict[str, Any] = {}, *args: Any, **kwargs: Any) -> 'Schedule':
48
+ def command(self, signature: str, vars: dict[str, Any] = {}, *args: Any, **kwargs: Any) -> 'ScheduleService':
49
49
  """
50
50
  Defines a Orionis command to be executed.
51
51
 
@@ -604,12 +604,9 @@ class Schedule(ISchedule):
604
604
  Starts the scheduler and stops automatically when there are no more jobs.
605
605
  """
606
606
  try:
607
- # Start the scheduler
608
607
  while self.wait:
609
608
  time.sleep(1)
610
609
  except (KeyboardInterrupt, SystemExit):
611
- # Stop the scheduler if it is running
612
610
  if self.scheduler.running:
613
611
  self.scheduler.shutdown()
614
- # Exit with status code 1 to indicate an error
615
612
  sys.exit(1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.90.0
3
+ Version: 0.93.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
@@ -28,8 +28,6 @@ orionis/contracts/console/output/__init__.py
28
28
  orionis/contracts/console/output/i_console.py
29
29
  orionis/contracts/console/output/i_executor.py
30
30
  orionis/contracts/console/output/i_progress_bar.py
31
- orionis/contracts/console/tasks/__init__.py
32
- orionis/contracts/console/tasks/i_schedule.py
33
31
  orionis/contracts/container/i_container.py
34
32
  orionis/contracts/container/i_types.py
35
33
  orionis/contracts/facades/__init__.py
@@ -54,6 +52,7 @@ orionis/contracts/providers/i_service_provider.py
54
52
  orionis/contracts/services/__init__.py
55
53
  orionis/contracts/services/commands/__init__.py
56
54
  orionis/contracts/services/commands/i_reactor_commands_service.py
55
+ orionis/contracts/services/commands/i_schedule_service.py
57
56
  orionis/contracts/services/config/__init__.py
58
57
  orionis/contracts/services/config/i_config_service.py
59
58
  orionis/contracts/services/environment/__init__.py
@@ -108,8 +107,6 @@ orionis/luminate/console/output/console.py
108
107
  orionis/luminate/console/output/executor.py
109
108
  orionis/luminate/console/output/progress_bar.py
110
109
  orionis/luminate/console/output/styles.py
111
- orionis/luminate/console/tasks/__init__.py
112
- orionis/luminate/console/tasks/scheduler.py
113
110
  orionis/luminate/container/container.py
114
111
  orionis/luminate/container/exception.py
115
112
  orionis/luminate/container/types.py
@@ -133,6 +130,7 @@ orionis/luminate/providers/__init__.py
133
130
  orionis/luminate/providers/service_provider.py
134
131
  orionis/luminate/providers/commands/__init__.py
135
132
  orionis/luminate/providers/commands/reactor_commands_service_provider.py
133
+ orionis/luminate/providers/commands/scheduler_provider.py
136
134
  orionis/luminate/providers/config/__init__.py
137
135
  orionis/luminate/providers/config/config_service_provider.py
138
136
  orionis/luminate/providers/environment/__init__.py
@@ -142,6 +140,7 @@ orionis/luminate/providers/log/log_service_provider.py
142
140
  orionis/luminate/services/__init__.py
143
141
  orionis/luminate/services/commands/__init__.py
144
142
  orionis/luminate/services/commands/reactor_commands_service.py
143
+ orionis/luminate/services/commands/scheduler_service.py
145
144
  orionis/luminate/services/config/__init__.py
146
145
  orionis/luminate/services/config/config_service.py
147
146
  orionis/luminate/services/environment/__init__.py
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes