orionis 0.94.0__py3-none-any.whl → 0.96.0__py3-none-any.whl

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.
orionis/framework.py CHANGED
@@ -5,7 +5,7 @@
5
5
  NAME = "orionis"
6
6
 
7
7
  # Current version of the framework
8
- VERSION = "0.94.0"
8
+ VERSION = "0.96.0"
9
9
 
10
10
  # Full name of the author or maintainer of the project
11
11
  AUTHOR = "Raul Mauricio Uñate Castro"
orionis/luminate/app.py CHANGED
@@ -267,6 +267,7 @@ class Application(metaclass=SingletonMeta):
267
267
  _log_provider.boot()
268
268
 
269
269
  # Load the scheduler provider, which is responsible for managing scheduled tasks.
270
+ # Developers can interact with it through the facade "orionis.luminate.facades.scheduler.scheduler_facade.Schedule".
270
271
  _schedule_provider = ScheduleServiceProvider(app=self.container)
271
272
  _schedule_provider.register()
272
273
  _schedule_provider.boot()
@@ -2,7 +2,8 @@ import importlib
2
2
  from orionis.luminate.console.base.command import BaseCommand
3
3
  from orionis.luminate.console.exceptions.cli_exception import CLIOrionisRuntimeError
4
4
  from orionis.contracts.console.i_task_manager import ITaskManager
5
- from orionis.luminate.services.commands.scheduler_service import ScheduleService
5
+ from orionis.luminate.facades.commands.scheduler_facade import Schedule
6
+
6
7
 
7
8
  class ScheduleWorkCommand(BaseCommand):
8
9
  """
@@ -18,14 +19,14 @@ class ScheduleWorkCommand(BaseCommand):
18
19
  # A brief description of the command.
19
20
  description = "Starts the scheduled tasks."
20
21
 
21
- def __init__(self, schedule:ScheduleService) -> None:
22
+ def __init__(self, schedule:Schedule) -> None:
22
23
  """
23
24
  Initialize a new instance of the ScheduleWorkCommand class.
24
25
 
25
26
  Args:
26
27
  schedule (ScheduleService): The schedule instance to use for scheduling tasks.
27
28
  """
28
- self.schedule = schedule
29
+ self.schedule : Schedule = schedule
29
30
 
30
31
  def handle(self) -> None:
31
32
  """
@@ -373,6 +373,10 @@ class Container(IContainer):
373
373
  if param_name == 'self':
374
374
  continue
375
375
 
376
+ # Handle parameters that are VAR_POSITIONAL or VAR_KEYWORD
377
+ if param.kind in (param.VAR_POSITIONAL, param.VAR_KEYWORD):
378
+ continue
379
+
376
380
  # If parameter has no annotation and no default value, it's unresolved
377
381
  if param.annotation is param.empty and param.default is param.empty:
378
382
  unresolved_dependencies.append(param_name)
@@ -27,4 +27,12 @@ class Schedule(ISchedule):
27
27
  Returns the Schedule instance itself, allowing method chaining.
28
28
  """
29
29
  _scheduler_provider : ScheduleService = app(ScheduleService)
30
- return _scheduler_provider.command(signature, vars, *args, **kwargs)
30
+ return _scheduler_provider.command(signature, vars, *args, **kwargs)
31
+
32
+ @staticmethod
33
+ def start():
34
+ """
35
+ Starts the scheduler and stops automatically when there are no more jobs.
36
+ """
37
+ _scheduler_provider : ScheduleService = app(ScheduleService)
38
+ return _scheduler_provider.start()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: orionis
3
- Version: 0.94.0
3
+ Version: 0.96.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,6 +1,6 @@
1
1
  orionis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  orionis/cli_manager.py,sha256=0bM-hABXJSoPGuvEgnqeaj9qcLP8VjTQ3z9Mb0TSEUI,1381
3
- orionis/framework.py,sha256=q1BoeNDxlkOfUKxP4UW9H77iLeTchu-G6UTu9PeHvk8,1386
3
+ orionis/framework.py,sha256=4g1oxphTP7B7BbGFvJ_oxiZFGfUuSQCcR9SfjTrNnoA,1386
4
4
  orionis/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  orionis/contracts/bootstrap/i_command_bootstrapper.py,sha256=cfpYWSlNhOY1q_C9o0H7F381OoM0Oh0qaeqP-c85nzk,2457
6
6
  orionis/contracts/bootstrap/i_config_bootstrapper.py,sha256=d2TXT74H2fCBbzWgrt9-ZG11S_H_YPQOEcJoIOrsgb0,4462
@@ -60,7 +60,7 @@ orionis/installer/installer_manager.py,sha256=Hb6T0bmSl39T30maY-nUWkrLhG77JdrKe4
60
60
  orionis/installer/installer_output.py,sha256=LeKxzuXpnHOKbKpUtx3tMGkCi2bGcPV1VNnfBxwfxUU,7161
61
61
  orionis/installer/installer_setup.py,sha256=c2HtVklSa-2_-YVonc7fwtoK-RTDqBS2Ybvbekgfqtc,6970
62
62
  orionis/luminate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- orionis/luminate/app.py,sha256=KTCwzauCLdZ_6_7oDeLmTT17sP2YK6IBdzLdVphiAzU,11962
63
+ orionis/luminate/app.py,sha256=cQZdnPOKZ7Sm4OWvR55U-DwKGPFnDfWgXQM4sB2AG4s,12088
64
64
  orionis/luminate/app_context.py,sha256=se2xpsGoy_drcuOROC7OHaIAN5Yd0kbm5V1zzsxxyQc,996
65
65
  orionis/luminate/bootstrap/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
66
  orionis/luminate/bootstrap/command_bootstrapper.py,sha256=JJkWWOS2R2Zg7mC7-VMtZ0wAgxlegMkdnqudpbAjxwk,6925
@@ -88,7 +88,7 @@ orionis/luminate/console/base/command.py,sha256=YGHd5xVYILcNhQumi74IRnzvagvjufEO
88
88
  orionis/luminate/console/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
89
  orionis/luminate/console/commands/cache_clear.py,sha256=KyXVSwtLaV1O1cTEkNzX9czCwEoeQlAjiT0jUFMO8iE,2684
90
90
  orionis/luminate/console/commands/help.py,sha256=8_LOTuiZvA8HToKP5qBoN7rWlEo3T0Qik7-f3fyrTgo,2288
91
- orionis/luminate/console/commands/schedule_work.py,sha256=EJ9tCZVcV1dkEG0nXV5W0eqcwqGfui1A5Xk7zVGzwC0,2168
91
+ orionis/luminate/console/commands/schedule_work.py,sha256=xbutdJMYL0fIZtABiS_XalNzvRhYvR2tmu8shNiDEW4,2165
92
92
  orionis/luminate/console/commands/tests.py,sha256=Z7e6aM5Vu8C7R8iC8sJgUYVN9aJgtVMkqjUEFxPq91o,1281
93
93
  orionis/luminate/console/commands/version.py,sha256=llVPK6ELtf8dIdPvLbybrtipWwZkzV0EXc9ShL-C-GY,1140
94
94
  orionis/luminate/console/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -98,14 +98,14 @@ orionis/luminate/console/output/console.py,sha256=khlnCmhGW3Iu2YYO8GG7YLtnLeqysy
98
98
  orionis/luminate/console/output/executor.py,sha256=0_6AGM1vE5umdpVVogQUE5eW9cu5UUQwc-ZvuccTI8E,3362
99
99
  orionis/luminate/console/output/progress_bar.py,sha256=ssi8Drryr-shl7OxweTgGOhvRvAlCVxjBGm1L1qyO84,3089
100
100
  orionis/luminate/console/output/styles.py,sha256=2e1_FJdNpKaVqmdlCx-udzTleH_6uEFE9_TjH7T1ZUk,3696
101
- orionis/luminate/container/container.py,sha256=Ruyhs5OAiO6nMFhGDm7TNQD4qqFO0lh_phqUFDit_bE,16429
101
+ orionis/luminate/container/container.py,sha256=AHVf0cWDcDmDTPLxDMErq9TvExRzZB0gzPlHBmFu9Cc,16602
102
102
  orionis/luminate/container/exception.py,sha256=ap1SqYEjQEEHXJJTNmL7V1jrmRjgT5_7geZ95MYkhMA,1691
103
103
  orionis/luminate/container/types.py,sha256=BDcXN0__voRNHZ5Gr5dF0sWIYAQyNk4TxAwILBWyDAA,1735
104
104
  orionis/luminate/facades/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
105
  orionis/luminate/facades/app.py,sha256=DHwCdhfU-Mfj0gPX5nwXR_cgnkvg6agMP2WBa-L0JE8,1294
106
106
  orionis/luminate/facades/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  orionis/luminate/facades/commands/commands_facade.py,sha256=xy-5sW5_fDXhS2y0c0CCbBOfrOR0mJQLVTwBe3J8WTk,1561
108
- orionis/luminate/facades/commands/scheduler_facade.py,sha256=mB7bU6OGT5btAejhkty4X86YLa7o5oB5ItuW-oRxFHA,1170
108
+ orionis/luminate/facades/commands/scheduler_facade.py,sha256=X1Ox0NVOA9RyiKmw3UYgiF68jdIWU8HNyOf7uD0SZ54,1432
109
109
  orionis/luminate/facades/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
110
  orionis/luminate/facades/config/config_facade.py,sha256=xpyVdH_-CeOvtMuf-Pjl9SFZWOflXzx9lyDy_fYOmxU,1353
111
111
  orionis/luminate/facades/environment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -161,9 +161,9 @@ tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
161
  tests/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
162
  tests/tools/class_example.py,sha256=dIPD997Y15n6WmKhWoOFSwEldRm9MdOHTZZ49eF1p3c,1056
163
163
  tests/tools/test_reflection.py,sha256=bhLQ7VGVod4B8sv-rW9AjnOumvaBVsoxieA3sdoM2yM,5244
164
- orionis-0.94.0.dist-info/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
165
- orionis-0.94.0.dist-info/METADATA,sha256=4x294DLMvEIxGwN2p_Hz1x2sx2HXR-rXj582DvN9abw,2978
166
- orionis-0.94.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
167
- orionis-0.94.0.dist-info/entry_points.txt,sha256=eef1_CVewfokKjrGBynXa06KabSJYo7LlDKKIKvs1cM,53
168
- orionis-0.94.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
169
- orionis-0.94.0.dist-info/RECORD,,
164
+ orionis-0.96.0.dist-info/LICENCE,sha256=-_4cF2EBKuYVS_SQpy1uapq0oJPUU1vl_RUWSy2jJTo,1111
165
+ orionis-0.96.0.dist-info/METADATA,sha256=LlnddNxOhueeIxuE57-15VZZk_7x2TlSWmiHIHoQrRA,2978
166
+ orionis-0.96.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
167
+ orionis-0.96.0.dist-info/entry_points.txt,sha256=eef1_CVewfokKjrGBynXa06KabSJYo7LlDKKIKvs1cM,53
168
+ orionis-0.96.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
169
+ orionis-0.96.0.dist-info/RECORD,,