orionis 0.512.0__py3-none-any.whl → 0.513.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/console/base/command.py +1 -1
- orionis/console/base/scheduler.py +1 -1
- orionis/console/contracts/schedule_event_listener.py +0 -4
- orionis/console/contracts/scheduler.py +140 -0
- orionis/console/core/reactor.py +1 -1
- orionis/console/tasks/schedule.py +21 -26
- orionis/foundation/application.py +1 -1
- orionis/metadata/framework.py +1 -1
- {orionis-0.512.0.dist-info → orionis-0.513.0.dist-info}/METADATA +1 -1
- {orionis-0.512.0.dist-info → orionis-0.513.0.dist-info}/RECORD +15 -16
- orionis/console/base/contracts/__init__.py +0 -0
- orionis/console/base/contracts/scheduler.py +0 -38
- /orionis/console/{base/contracts → contracts}/command.py +0 -0
- {orionis-0.512.0.dist-info → orionis-0.513.0.dist-info}/WHEEL +0 -0
- {orionis-0.512.0.dist-info → orionis-0.513.0.dist-info}/licenses/LICENCE +0 -0
- {orionis-0.512.0.dist-info → orionis-0.513.0.dist-info}/top_level.txt +0 -0
- {orionis-0.512.0.dist-info → orionis-0.513.0.dist-info}/zip-safe +0 -0
orionis/console/base/command.py
CHANGED
|
@@ -2,7 +2,7 @@ from typing import Any, Dict, List
|
|
|
2
2
|
from orionis.console.args.argument import CLIArgument
|
|
3
3
|
from orionis.console.dynamic.progress_bar import ProgressBar
|
|
4
4
|
from orionis.console.output.console import Console
|
|
5
|
-
from orionis.console.
|
|
5
|
+
from orionis.console.contracts.command import IBaseCommand
|
|
6
6
|
|
|
7
7
|
class BaseCommand(Console, ProgressBar, IBaseCommand):
|
|
8
8
|
"""
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
|
-
from typing import TYPE_CHECKING
|
|
3
2
|
from orionis.console.entities.job_error import JobError
|
|
4
3
|
from orionis.console.entities.job_executed import JobExecuted
|
|
5
4
|
from orionis.console.entities.job_max_instances import JobMaxInstances
|
|
@@ -9,9 +8,6 @@ from orionis.console.entities.job_removed import JobRemoved
|
|
|
9
8
|
from orionis.console.entities.job_resume import JobResume
|
|
10
9
|
from orionis.console.entities.job_submitted import JobSubmitted
|
|
11
10
|
|
|
12
|
-
if TYPE_CHECKING:
|
|
13
|
-
from orionis.console.contracts.schedule import ISchedule
|
|
14
|
-
|
|
15
11
|
class IScheduleEventListener(ABC):
|
|
16
12
|
"""
|
|
17
13
|
Interface for event listeners that handle various stages of event processing.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
from datetime import datetime
|
|
3
|
+
from orionis.console.contracts.schedule import ISchedule
|
|
4
|
+
|
|
5
|
+
class IBaseScheduler(ABC):
|
|
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
|
+
@abstractmethod
|
|
17
|
+
def tasks(self, schedule: ISchedule):
|
|
18
|
+
"""
|
|
19
|
+
Defines and registers scheduled tasks for the application.
|
|
20
|
+
|
|
21
|
+
Parameters
|
|
22
|
+
----------
|
|
23
|
+
schedule : ISchedule
|
|
24
|
+
The schedule object used to define and register scheduled commands.
|
|
25
|
+
This object provides methods to add tasks to the scheduler.
|
|
26
|
+
|
|
27
|
+
Returns
|
|
28
|
+
-------
|
|
29
|
+
None
|
|
30
|
+
This method does not return any value. It is intended to be overridden
|
|
31
|
+
by subclasses to specify scheduled tasks.
|
|
32
|
+
|
|
33
|
+
Notes
|
|
34
|
+
-----
|
|
35
|
+
This method serves as a contract for subclasses to implement task registration
|
|
36
|
+
logic. Subclasses should use the provided `schedule` object to define and
|
|
37
|
+
register tasks that the scheduler will execute.
|
|
38
|
+
"""
|
|
39
|
+
# Abstract method to be implemented by subclasses for task registration
|
|
40
|
+
pass
|
|
41
|
+
|
|
42
|
+
@abstractmethod
|
|
43
|
+
def onStarted(self):
|
|
44
|
+
"""
|
|
45
|
+
Called when the scheduler is started.
|
|
46
|
+
|
|
47
|
+
Returns
|
|
48
|
+
-------
|
|
49
|
+
None
|
|
50
|
+
This method does not return any value.
|
|
51
|
+
|
|
52
|
+
Notes
|
|
53
|
+
-----
|
|
54
|
+
Subclasses should override this method to implement custom behavior that
|
|
55
|
+
should occur when the scheduler starts running. This can include initializing
|
|
56
|
+
resources or logging the start event.
|
|
57
|
+
"""
|
|
58
|
+
# Abstract method to define behavior when the scheduler starts
|
|
59
|
+
pass
|
|
60
|
+
|
|
61
|
+
@abstractmethod
|
|
62
|
+
def onPaused(self):
|
|
63
|
+
"""
|
|
64
|
+
Called when the scheduler is paused.
|
|
65
|
+
|
|
66
|
+
Returns
|
|
67
|
+
-------
|
|
68
|
+
None
|
|
69
|
+
This method does not return any value.
|
|
70
|
+
|
|
71
|
+
Notes
|
|
72
|
+
-----
|
|
73
|
+
Subclasses should override this method to define custom behavior that occurs
|
|
74
|
+
when the scheduler enters a paused state. This can include saving the current
|
|
75
|
+
state or logging the pause event.
|
|
76
|
+
"""
|
|
77
|
+
# Abstract method to define behavior when the scheduler is paused
|
|
78
|
+
pass
|
|
79
|
+
|
|
80
|
+
@abstractmethod
|
|
81
|
+
def onResumed(self):
|
|
82
|
+
"""
|
|
83
|
+
Called when the scheduler is resumed from a paused state.
|
|
84
|
+
|
|
85
|
+
Returns
|
|
86
|
+
-------
|
|
87
|
+
None
|
|
88
|
+
This method does not return any value.
|
|
89
|
+
|
|
90
|
+
Notes
|
|
91
|
+
-----
|
|
92
|
+
Subclasses should override this method to implement any actions that need to
|
|
93
|
+
occur when the scheduler resumes operation. This can include restoring the
|
|
94
|
+
state or logging the resume event.
|
|
95
|
+
"""
|
|
96
|
+
# Abstract method to define behavior when the scheduler is resumed
|
|
97
|
+
pass
|
|
98
|
+
|
|
99
|
+
@abstractmethod
|
|
100
|
+
def onFinalized(self):
|
|
101
|
+
"""
|
|
102
|
+
Called when the scheduler has completed its execution and is being finalized.
|
|
103
|
+
|
|
104
|
+
Returns
|
|
105
|
+
-------
|
|
106
|
+
None
|
|
107
|
+
This method does not return any value.
|
|
108
|
+
|
|
109
|
+
Notes
|
|
110
|
+
-----
|
|
111
|
+
Subclasses can override this method to perform any necessary cleanup or
|
|
112
|
+
finalization tasks, such as releasing resources or logging the finalization
|
|
113
|
+
event.
|
|
114
|
+
"""
|
|
115
|
+
# Abstract method to define behavior when the scheduler is finalized
|
|
116
|
+
pass
|
|
117
|
+
|
|
118
|
+
@abstractmethod
|
|
119
|
+
def onError(self, error: Exception):
|
|
120
|
+
"""
|
|
121
|
+
Handles errors that occur within the scheduler.
|
|
122
|
+
|
|
123
|
+
Parameters
|
|
124
|
+
----------
|
|
125
|
+
error : Exception
|
|
126
|
+
The exception instance representing the error that occurred.
|
|
127
|
+
|
|
128
|
+
Returns
|
|
129
|
+
-------
|
|
130
|
+
None
|
|
131
|
+
This method does not return any value.
|
|
132
|
+
|
|
133
|
+
Notes
|
|
134
|
+
-----
|
|
135
|
+
Subclasses can override this method to implement custom error handling logic
|
|
136
|
+
for the scheduler. This can include logging the error, notifying stakeholders,
|
|
137
|
+
or attempting to recover from the error.
|
|
138
|
+
"""
|
|
139
|
+
# Abstract method to define behavior for handling errors in the scheduler
|
|
140
|
+
pass
|
orionis/console/core/reactor.py
CHANGED
|
@@ -4,7 +4,7 @@ import re
|
|
|
4
4
|
from typing import Any, List, Optional
|
|
5
5
|
from orionis.console.args.argument import CLIArgument
|
|
6
6
|
from orionis.console.base.command import BaseCommand
|
|
7
|
-
from orionis.console.
|
|
7
|
+
from orionis.console.contracts.command import IBaseCommand
|
|
8
8
|
from orionis.console.contracts.reactor import IReactor
|
|
9
9
|
from orionis.console.enums.command import Command
|
|
10
10
|
from orionis.console.exceptions import CLIOrionisValueError
|
|
@@ -121,13 +121,9 @@ class Scheduler(ISchedule):
|
|
|
121
121
|
formatted as "YYYY-MM-DD HH:MM:SS".
|
|
122
122
|
"""
|
|
123
123
|
|
|
124
|
-
|
|
125
|
-
now =
|
|
126
|
-
|
|
127
|
-
)
|
|
128
|
-
|
|
129
|
-
# Return the formatted date and time string
|
|
130
|
-
return now.strftime('%Y-%m-%d %H:%M:%S')
|
|
124
|
+
tz = pytz.timezone(self.__app.config("app.timezone", "UTC"))
|
|
125
|
+
now = datetime.now(tz)
|
|
126
|
+
return now.strftime("%Y-%m-%d %H:%M:%S")
|
|
131
127
|
|
|
132
128
|
def __suscribeListeners(
|
|
133
129
|
self
|
|
@@ -210,25 +206,24 @@ class Scheduler(ISchedule):
|
|
|
210
206
|
|
|
211
207
|
# Display a start message for the scheduler worker on the rich console
|
|
212
208
|
# Add a blank line for better formatting
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
self.__rich_console.line()
|
|
209
|
+
self.__rich_console.line()
|
|
210
|
+
panel_content = Text.assemble(
|
|
211
|
+
(" Orionis Scheduler Worker ", "bold white on green"), # Header text with styling
|
|
212
|
+
("\n\n", ""), # Add spacing
|
|
213
|
+
("The scheduled tasks worker has started successfully.\n", "white"), # Main message
|
|
214
|
+
(f"Started at: {now}\n", "dim"), # Display the start time in dim text
|
|
215
|
+
("To stop the worker, press ", "white"), # Instruction text
|
|
216
|
+
("Ctrl+C", "bold yellow"), # Highlight the key combination
|
|
217
|
+
(".", "white") # End the instruction
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
# Display the message in a styled panel
|
|
221
|
+
self.__rich_console.print(
|
|
222
|
+
Panel(panel_content, border_style="green", padding=(1, 2))
|
|
223
|
+
)
|
|
224
|
+
|
|
225
|
+
# Add another blank line for better formatting
|
|
226
|
+
self.__rich_console.line()
|
|
232
227
|
|
|
233
228
|
# Retrieve the global identifier for the scheduler started event
|
|
234
229
|
scheduler_started = ListeningEvent.SCHEDULER_STARTED.value
|
|
@@ -2,7 +2,7 @@ import asyncio
|
|
|
2
2
|
import time
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
from typing import Any, List, Type
|
|
5
|
-
from orionis.console.
|
|
5
|
+
from orionis.console.contracts.scheduler import IBaseScheduler
|
|
6
6
|
from orionis.console.base.scheduler import BaseScheduler
|
|
7
7
|
from orionis.container.container import Container
|
|
8
8
|
from orionis.container.contracts.service_provider import IServiceProvider
|
orionis/metadata/framework.py
CHANGED
|
@@ -7,12 +7,9 @@ orionis/console/args/argument.py,sha256=Is8Z8_kW4DvcK1nK1UU-sa6Pk0BeOdcRczCayW0Z
|
|
|
7
7
|
orionis/console/args/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
orionis/console/args/enums/actions.py,sha256=S3T-vWS6DJSGtANrq3od3-90iYAjPvJwaOZ2V02y34c,1222
|
|
9
9
|
orionis/console/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
orionis/console/base/command.py,sha256=
|
|
11
|
-
orionis/console/base/scheduler.py,sha256=
|
|
10
|
+
orionis/console/base/command.py,sha256=OM4xqVgpv_1RZVyVG8BzOHl1sP9FT5mPUwZjMil8IRg,6637
|
|
11
|
+
orionis/console/base/scheduler.py,sha256=5B1msuEwvEdaUIFzaLU8-QtfrbqduIkXfM7pubWhoZg,3375
|
|
12
12
|
orionis/console/base/scheduler_event_listener.py,sha256=m3p55Zz7HrMxGU3S3oMaMG58YPSRXPJUVCh4Ky7GFR8,4062
|
|
13
|
-
orionis/console/base/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
orionis/console/base/contracts/command.py,sha256=vmAJD0yMQ5-AD_s9_xCFEAl64sKk65z7U2E196dALQM,5760
|
|
15
|
-
orionis/console/base/contracts/scheduler.py,sha256=y8q4qv6oxjnWSt9G0HP2IjogtWIASfJaMO5vkG22U1Q,1184
|
|
16
13
|
orionis/console/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
14
|
orionis/console/commands/cache.py,sha256=8DsYoRzSBLn0P9qkGVItRbo0R6snWBDBg0_Xa7tmVhs,2322
|
|
18
15
|
orionis/console/commands/help.py,sha256=zfSw0pYaOnFN-_Ozdn4veBQDYMgSSDY10nPDCi-7tTY,3199
|
|
@@ -23,13 +20,15 @@ orionis/console/commands/test.py,sha256=-EmQwFwMBuby3OI9HwqMIwuJzd2CGbWbOqmwrR25
|
|
|
23
20
|
orionis/console/commands/version.py,sha256=SUuNDJ40f2uq69OQUmPQXJKaa9Bm_iVRDPmBd7zc1Yc,3658
|
|
24
21
|
orionis/console/commands/workflow.py,sha256=NYOmjTSvm2o6AE4h9LSTZMFSYPQreNmEJtronyOxaYk,2451
|
|
25
22
|
orionis/console/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
orionis/console/contracts/command.py,sha256=vmAJD0yMQ5-AD_s9_xCFEAl64sKk65z7U2E196dALQM,5760
|
|
26
24
|
orionis/console/contracts/event.py,sha256=zaOkbRNKpU6U_cIEFic84C3WIcD8kCIyX9hc50jN8N0,119797
|
|
27
25
|
orionis/console/contracts/kernel.py,sha256=mh4LlhEYHh3FuGZZQ0GBhD6ZLa5YQvaNj2r01IIHI5Y,826
|
|
28
26
|
orionis/console/contracts/reactor.py,sha256=Xeq7Zrw6WE5MV_XOQfiQEchAFbb6-0TjLpjWOxYW--g,4554
|
|
29
27
|
orionis/console/contracts/schedule.py,sha256=gMd_CS-W8d_pOX6dBjcqtYRL_rXzTWdzeg-WyrI2g7g,6260
|
|
30
|
-
orionis/console/contracts/schedule_event_listener.py,sha256=
|
|
28
|
+
orionis/console/contracts/schedule_event_listener.py,sha256=0HSQ49O-Wzyn0P3rrfP2xsfSioIAaCv3n_pgEkhyY1o,12887
|
|
29
|
+
orionis/console/contracts/scheduler.py,sha256=90QoeoUGOLgLhzCKbWHpuAdWzmHiV1FQXrhzJajLMBA,4354
|
|
31
30
|
orionis/console/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
-
orionis/console/core/reactor.py,sha256=
|
|
31
|
+
orionis/console/core/reactor.py,sha256=JlxNiqmyzAqiS21hxOMD5ELiDNPzmGHYDNrdlaMvYuI,30409
|
|
33
32
|
orionis/console/dumper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
33
|
orionis/console/dumper/dump.py,sha256=CATERiQ6XuIrKQsDaWcVxzTtlAJI9qLJX44fQxEX8ws,22443
|
|
35
34
|
orionis/console/dumper/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -82,7 +81,7 @@ orionis/console/request/cli_request.py,sha256=7-sgYmNUCipuHLVAwWLJiHv0cJCDmsM1Lu
|
|
|
82
81
|
orionis/console/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
83
82
|
orionis/console/tasks/event.py,sha256=UhAIbSHueyykzny8SorxKbo8S-_TxP6jLhT-FuFyLL0,163405
|
|
84
83
|
orionis/console/tasks/listener.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
|
-
orionis/console/tasks/schedule.py,sha256=
|
|
84
|
+
orionis/console/tasks/schedule.py,sha256=l9hgDMPIbkJi1O1K2GupZD-HD1ygYRPLPdcEbdVFQWM,46877
|
|
86
85
|
orionis/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
87
86
|
orionis/container/container.py,sha256=aF_b6lTUpG4YCo9yFJEzsntTdIzgMMXFW5LyWqAJVBQ,87987
|
|
88
87
|
orionis/container/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -124,7 +123,7 @@ orionis/failure/contracts/handler.py,sha256=4N9yMkMgdhtHbRGAyCtuTx3GmkPP74vhqdRL
|
|
|
124
123
|
orionis/failure/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
124
|
orionis/failure/entities/throwable.py,sha256=ogys062uhim5QMYU62ezlnumRAnYQlUf_vZvQY47S3U,1227
|
|
126
125
|
orionis/foundation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
127
|
-
orionis/foundation/application.py,sha256=
|
|
126
|
+
orionis/foundation/application.py,sha256=GmfLnpWuhX_6d1gzUk1v7jy_R72XpLJdA-hEOrXQn_Q,83792
|
|
128
127
|
orionis/foundation/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
129
128
|
orionis/foundation/config/startup.py,sha256=vbzduprRCNyYeR2nnMaqc1uKXw6PTzAY2jVfXNQKN8I,9691
|
|
130
129
|
orionis/foundation/config/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -240,7 +239,7 @@ orionis/foundation/providers/scheduler_provider.py,sha256=72SoixFog9IOE9Ve9Xcfw6
|
|
|
240
239
|
orionis/foundation/providers/testing_provider.py,sha256=SrJRpdvcblx9WvX7x9Y3zc7OQfiTf7la0HAJrm2ESlE,3725
|
|
241
240
|
orionis/foundation/providers/workers_provider.py,sha256=oa_2NIDH6UxZrtuGkkoo_zEoNIMGgJ46vg5CCgAm7wI,3926
|
|
242
241
|
orionis/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
243
|
-
orionis/metadata/framework.py,sha256=
|
|
242
|
+
orionis/metadata/framework.py,sha256=6NoNocgXwGzH22ftuxlsTj_szulwLBhp3y1YnjY2DoA,4109
|
|
244
243
|
orionis/metadata/package.py,sha256=k7Yriyp5aUcR-iR8SK2ec_lf0_Cyc-C7JczgXa-I67w,16039
|
|
245
244
|
orionis/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
246
245
|
orionis/services/asynchrony/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -416,7 +415,7 @@ orionis/test/validators/web_report.py,sha256=n9BfzOZz6aEiNTypXcwuWbFRG0OdHNSmCNu
|
|
|
416
415
|
orionis/test/validators/workers.py,sha256=rWcdRexINNEmGaO7mnc1MKUxkHKxrTsVuHgbnIfJYgc,1206
|
|
417
416
|
orionis/test/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
418
417
|
orionis/test/view/render.py,sha256=f-zNhtKSg9R5Njqujbg2l2amAs2-mRVESneLIkWOZjU,4082
|
|
419
|
-
orionis-0.
|
|
418
|
+
orionis-0.513.0.dist-info/licenses/LICENCE,sha256=JhC-z_9mbpUrCfPjcl3DhDA8trNDMzb57cvRSam1avc,1463
|
|
420
419
|
tests/container/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
421
420
|
tests/container/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
422
421
|
tests/container/context/test_manager.py,sha256=wOwXpl9rHNfTTexa9GBKYMwK0_-KSQPbI-AEyGNkmAE,1356
|
|
@@ -562,8 +561,8 @@ tests/testing/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
|
562
561
|
tests/testing/validators/test_testing_validators.py,sha256=WPo5GxTP6xE-Dw3X1vZoqOMpb6HhokjNSbgDsDRDvy4,16588
|
|
563
562
|
tests/testing/view/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
564
563
|
tests/testing/view/test_render.py,sha256=tnnMBwS0iKUIbogLvu-7Rii50G6Koddp3XT4wgdFEYM,1050
|
|
565
|
-
orionis-0.
|
|
566
|
-
orionis-0.
|
|
567
|
-
orionis-0.
|
|
568
|
-
orionis-0.
|
|
569
|
-
orionis-0.
|
|
564
|
+
orionis-0.513.0.dist-info/METADATA,sha256=LGeTVazZK9z_4kIpNC0uuJfJJdbdbBzguVb-YRJ1x5c,4801
|
|
565
|
+
orionis-0.513.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
566
|
+
orionis-0.513.0.dist-info/top_level.txt,sha256=2bdoHgyGZhOtLAXS6Om8OCTmL24dUMC_L1quMe_ETbk,14
|
|
567
|
+
orionis-0.513.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2
|
|
568
|
+
orionis-0.513.0.dist-info/RECORD,,
|
|
File without changes
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
from abc import ABC, abstractmethod
|
|
2
|
-
from datetime import datetime
|
|
3
|
-
from orionis.console.contracts.schedule import ISchedule
|
|
4
|
-
|
|
5
|
-
class IBaseScheduler(ABC):
|
|
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
|
-
@abstractmethod
|
|
17
|
-
def tasks(self, schedule: ISchedule):
|
|
18
|
-
"""
|
|
19
|
-
Defines and registers scheduled tasks for the application.
|
|
20
|
-
|
|
21
|
-
Parameters
|
|
22
|
-
----------
|
|
23
|
-
schedule : ISchedule
|
|
24
|
-
The schedule object used to define and register scheduled commands.
|
|
25
|
-
|
|
26
|
-
Returns
|
|
27
|
-
-------
|
|
28
|
-
None
|
|
29
|
-
This method does not return any value. It is intended to be overridden
|
|
30
|
-
by subclasses to specify scheduled tasks.
|
|
31
|
-
|
|
32
|
-
Notes
|
|
33
|
-
-----
|
|
34
|
-
This method should be implemented in subclasses to add specific tasks
|
|
35
|
-
to the scheduler using the provided `schedule` object.
|
|
36
|
-
"""
|
|
37
|
-
# This method should be overridden in subclasses to define scheduled tasks.
|
|
38
|
-
pass
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|