orionis 0.511.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.
Files changed (47) hide show
  1. orionis/console/base/command.py +1 -1
  2. orionis/console/base/scheduler.py +1 -1
  3. orionis/console/base/scheduler_event_listener.py +136 -0
  4. orionis/console/commands/scheduler_work.py +37 -25
  5. orionis/console/contracts/event.py +3032 -9
  6. orionis/console/contracts/schedule.py +34 -0
  7. orionis/console/contracts/schedule_event_listener.py +320 -0
  8. orionis/console/contracts/scheduler.py +140 -0
  9. orionis/console/core/reactor.py +1 -1
  10. orionis/console/entities/all_jobs_removed.py +23 -0
  11. orionis/console/entities/executor_added.py +23 -0
  12. orionis/console/entities/executor_removed.py +25 -0
  13. orionis/console/entities/job_added.py +24 -0
  14. orionis/console/entities/job_error.py +35 -0
  15. orionis/console/entities/job_event_data.py +40 -0
  16. orionis/console/entities/job_executed.py +31 -0
  17. orionis/console/entities/job_max_instances.py +27 -0
  18. orionis/console/entities/job_missed.py +25 -0
  19. orionis/console/entities/job_modified.py +23 -0
  20. orionis/console/entities/job_pause.py +22 -0
  21. orionis/console/entities/job_removed.py +22 -0
  22. orionis/console/entities/job_resume.py +25 -0
  23. orionis/console/entities/job_store_added.py +24 -0
  24. orionis/console/entities/job_store_removed.py +25 -0
  25. orionis/console/entities/job_submitted.py +24 -0
  26. orionis/console/entities/scheduler_event_data.py +33 -0
  27. orionis/console/entities/scheduler_paused.py +17 -0
  28. orionis/console/entities/scheduler_resumed.py +24 -0
  29. orionis/console/entities/scheduler_shutdown.py +23 -0
  30. orionis/console/entities/scheduler_started.py +21 -0
  31. orionis/console/enums/listener.py +75 -0
  32. orionis/console/tasks/event.py +3703 -21
  33. orionis/console/tasks/schedule.py +701 -52
  34. orionis/foundation/application.py +1 -1
  35. orionis/metadata/framework.py +1 -1
  36. {orionis-0.511.0.dist-info → orionis-0.513.0.dist-info}/METADATA +1 -1
  37. {orionis-0.511.0.dist-info → orionis-0.513.0.dist-info}/RECORD +42 -22
  38. orionis/console/base/contracts/__init__.py +0 -0
  39. orionis/console/base/contracts/scheduler.py +0 -38
  40. orionis/console/contracts/listener.py +0 -132
  41. orionis/console/entities/listeners.py +0 -241
  42. orionis/console/tasks/exception_report.py +0 -94
  43. /orionis/console/{base/contracts → contracts}/command.py +0 -0
  44. {orionis-0.511.0.dist-info → orionis-0.513.0.dist-info}/WHEEL +0 -0
  45. {orionis-0.511.0.dist-info → orionis-0.513.0.dist-info}/licenses/LICENCE +0 -0
  46. {orionis-0.511.0.dist-info → orionis-0.513.0.dist-info}/top_level.txt +0 -0
  47. {orionis-0.511.0.dist-info → orionis-0.513.0.dist-info}/zip-safe +0 -0
@@ -1,5 +1,6 @@
1
1
  from abc import ABC, abstractmethod
2
2
  from datetime import datetime
3
+ from orionis.console.contracts.schedule_event_listener import IScheduleEventListener
3
4
  from orionis.console.enums.event import Event as EventEntity
4
5
 
5
6
  class IEvent(ABC):
@@ -124,31 +125,109 @@ class IEvent(ABC):
124
125
  """
125
126
  pass
126
127
 
128
+ @abstractmethod
129
+ def maxInstances(
130
+ self,
131
+ max_instances: int
132
+ ) -> 'IEvent':
133
+ """
134
+ Set the maximum number of concurrent instances for the event.
135
+
136
+ This method specifies the maximum number of instances of the event
137
+ that can run concurrently. It is useful for preventing resource
138
+ contention or overloading the system with too many simultaneous
139
+ executions of the same event.
140
+
141
+ Parameters
142
+ ----------
143
+ max_instances : int
144
+ The maximum number of concurrent instances allowed for the event.
145
+ Must be a positive integer.
146
+
147
+ Returns
148
+ -------
149
+ Event
150
+ The current instance of the Event, allowing method chaining.
151
+
152
+ Raises
153
+ ------
154
+ CLIOrionisValueError
155
+ If `max_instances` is not a positive integer.
156
+
157
+ Notes
158
+ -----
159
+ This setting is particularly useful in scenarios where the event
160
+ involves resource-intensive operations, ensuring that the system
161
+ remains stable and responsive.
162
+ """
163
+ pass
164
+
165
+ @abstractmethod
166
+ def subscribeListener(
167
+ self,
168
+ listener: IScheduleEventListener
169
+ ) -> 'IEvent':
170
+ """
171
+ Subscribe a listener to the event.
172
+
173
+ This method allows you to attach a listener that implements the `IScheduleEventListener`
174
+ interface to the event. The listener will be notified when the event is triggered.
175
+
176
+ Parameters
177
+ ----------
178
+ listener : IScheduleEventListener
179
+ An instance of a class that implements the `IScheduleEventListener` interface.
180
+
181
+ Returns
182
+ -------
183
+ Event
184
+ The current instance of the `Event` class, allowing method chaining.
185
+
186
+ Raises
187
+ ------
188
+ CLIOrionisValueError
189
+ If the provided `listener` does not implement the `IScheduleEventListener` interface.
190
+
191
+ Notes
192
+ -----
193
+ The listener is stored internally and will be used to handle event-specific logic
194
+ when the event is executed.
195
+ """
196
+ pass
197
+
127
198
  @abstractmethod
128
199
  def onceAt(
129
200
  self,
130
201
  date: datetime
131
202
  ) -> bool:
132
203
  """
133
- Schedule the event to run once at a specific date and time.
204
+ Schedule the event to execute once at a specific date and time.
134
205
 
135
- This method allows you to schedule the event to execute once at a specified
136
- date and time. The date must be a datetime instance.
206
+ This method configures the event to run a single time at the provided
207
+ `date` and time. The `date` parameter must be a valid `datetime` instance.
208
+ Internally, this sets both the start and end dates to the specified value,
209
+ and uses a `DateTrigger` to ensure the event is triggered only once.
137
210
 
138
211
  Parameters
139
212
  ----------
140
213
  date : datetime
141
- The specific date and time when the event should run.
214
+ The exact date and time at which the event should be executed. Must be a
215
+ valid `datetime` object.
142
216
 
143
217
  Returns
144
218
  -------
145
219
  bool
146
- Returns True if the scheduling was successful.
220
+ Returns True if the scheduling was successfully configured for a single execution.
221
+
222
+ Raises
223
+ ------
224
+ CLIOrionisValueError
225
+ If `date` is not a valid `datetime` instance.
147
226
  """
148
227
  pass
149
228
 
150
229
  @abstractmethod
151
- def everySeconds(
230
+ def everySecond(
152
231
  self,
153
232
  seconds: int
154
233
  ) -> bool:
@@ -156,9 +235,9 @@ class IEvent(ABC):
156
235
  Schedule the event to run at fixed intervals measured in seconds.
157
236
 
158
237
  This method configures the event to execute repeatedly at a specified interval
159
- (in seconds). Optionally, the event can be restricted to a time window using
160
- previously set start and end dates. A random delay (jitter) can also be applied
161
- if configured.
238
+ (in seconds). The event can optionally be restricted to a time window using
239
+ previously set `start_date` and `end_date`. If a random delay (jitter) has been
240
+ configured, it can be applied to the trigger.
162
241
 
163
242
  Parameters
164
243
  ----------
@@ -174,5 +253,2949 @@ class IEvent(ABC):
174
253
  ------
175
254
  CLIOrionisValueError
176
255
  If `seconds` is not a positive integer.
256
+
257
+ Notes
258
+ -----
259
+ The event will be triggered every `seconds` seconds, starting from the configured
260
+ `start_date` (if set) and ending at `end_date` (if set).
261
+ """
262
+ pass
263
+
264
+ @abstractmethod
265
+ def everyFiveSeconds(
266
+ self
267
+ ) -> bool:
268
+ """
269
+ Schedule the event to run every five seconds.
270
+
271
+ This method configures the event to execute at a fixed interval of five seconds using an
272
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
273
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
274
+ it will be applied to the trigger to help distribute load or avoid collisions.
275
+
276
+ Returns
277
+ -------
278
+ bool
279
+ Returns True after successfully configuring the interval trigger for execution every
280
+ five seconds.
281
+
282
+ Notes
283
+ -----
284
+ The event will be triggered at 0, 5, 10, 15, ..., 55 seconds of each minute, within the optional
285
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter) is set,
286
+ it will be applied to the trigger.
287
+ """
288
+ pass
289
+
290
+ @abstractmethod
291
+ def everyTenSeconds(
292
+ self
293
+ ) -> bool:
294
+ """
295
+ Schedule the event to run every ten seconds.
296
+
297
+ This method configures the event to execute at a fixed interval of ten seconds using an
298
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
299
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
300
+ it will be applied to the trigger to help distribute load or avoid collisions.
301
+
302
+ Returns
303
+ -------
304
+ bool
305
+ Returns True after successfully configuring the interval trigger for execution every
306
+ ten seconds.
307
+
308
+ Notes
309
+ -----
310
+ The event will be triggered at 0, 10, 20, 30, 40, and 50 seconds of each minute, within the optional
311
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter) is set,
312
+ it will be applied to the trigger.
313
+ """
314
+ pass
315
+
316
+ @abstractmethod
317
+ def everyFifteenSeconds(
318
+ self
319
+ ) -> bool:
320
+ """
321
+ Schedule the event to run every fifteen seconds.
322
+
323
+ This method configures the event to execute at a fixed interval of fifteen seconds using an
324
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
325
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
326
+ it will be applied to the trigger to help distribute load or avoid collisions.
327
+
328
+ Returns
329
+ -------
330
+ bool
331
+ Returns True after successfully configuring the interval trigger for execution every
332
+ fifteen seconds.
333
+
334
+ Notes
335
+ -----
336
+ The event will be triggered at 0, 15, 30, and 45 seconds of each minute, within the optional
337
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter) is set,
338
+ it will be applied to the trigger.
339
+ """
340
+ pass
341
+
342
+ @abstractmethod
343
+ def everyTwentySeconds(
344
+ self
345
+ ) -> bool:
346
+ """
347
+ Schedule the event to run every twenty seconds.
348
+
349
+ This method configures the event to execute at a fixed interval of twenty seconds using an
350
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
351
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
352
+ it will be applied to the trigger to help distribute load or avoid collisions.
353
+
354
+ Returns
355
+ -------
356
+ bool
357
+ Returns True after successfully configuring the interval trigger for execution every
358
+ twenty seconds. The event will be triggered at 0, 20, and 40 seconds of each minute,
359
+ within the optional scheduling window defined by `start_date` and `end_date`. If a
360
+ random delay (jitter) is set, it will be applied to the trigger.
361
+ """
362
+ pass
363
+
364
+ @abstractmethod
365
+ def everyTwentyFiveSeconds(
366
+ self
367
+ ) -> bool:
368
+ """
369
+ Schedule the event to run every twenty-five seconds.
370
+
371
+ This method configures the event to execute at a fixed interval of twenty-five seconds using an
372
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
373
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
374
+ it will be applied to the trigger to help distribute load or avoid collisions.
375
+
376
+ Returns
377
+ -------
378
+ bool
379
+ Returns True after successfully configuring the interval trigger for execution every
380
+ twenty-five seconds. The event will be triggered at 0, 25, and 50 seconds of each minute,
381
+ within the optional scheduling window defined by `start_date` and `end_date`. If a random
382
+ delay (jitter) is set, it will be applied to the trigger.
383
+
384
+ Notes
385
+ -----
386
+ The event will be triggered at 0, 25, and 50 seconds of each minute.
387
+ """
388
+ pass
389
+
390
+ @abstractmethod
391
+ def everyThirtySeconds(
392
+ self
393
+ ) -> bool:
394
+ """
395
+ Schedule the event to run every thirty seconds.
396
+
397
+ This method configures the event to execute at a fixed interval of thirty seconds using an
398
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
399
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
400
+ it will be applied to the trigger to help distribute load or avoid collisions.
401
+
402
+ Returns
403
+ -------
404
+ bool
405
+ Returns True after successfully configuring the interval trigger for execution every
406
+ thirty seconds.
407
+
408
+ Notes
409
+ -----
410
+ The event will be triggered at 0 and 30 seconds of each minute, within the optional
411
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
412
+ is set, it will be applied to the trigger.
413
+ """
414
+ pass
415
+
416
+ @abstractmethod
417
+ def everyThirtyFiveSeconds(
418
+ self
419
+ ) -> bool:
420
+ """
421
+ Schedule the event to run every thirty-five seconds.
422
+
423
+ This method configures the event to execute at a fixed interval of thirty-five seconds using an
424
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
425
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
426
+ it will be applied to the trigger to help distribute load or avoid collisions.
427
+
428
+ Returns
429
+ -------
430
+ bool
431
+ Returns True after successfully configuring the interval trigger for execution every
432
+ thirty-five seconds. The event will be triggered at 0 and 35 seconds of each minute,
433
+ within the optional scheduling window defined by `start_date` and `end_date`. If a
434
+ random delay (jitter) is set, it will be applied to the trigger.
435
+ """
436
+ pass
437
+
438
+ @abstractmethod
439
+ def everyFortySeconds(
440
+ self
441
+ ) -> bool:
442
+ """
443
+ Schedule the event to run every forty seconds.
444
+
445
+ This method configures the event to execute at a fixed interval of forty seconds using an
446
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
447
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
448
+ it will be applied to the trigger to help distribute load or avoid collisions.
449
+
450
+ Returns
451
+ -------
452
+ bool
453
+ Returns True after successfully configuring the interval trigger for execution every
454
+ forty seconds. The event will be triggered at 0 and 40 seconds of each minute, within the
455
+ optional scheduling window defined by `start_date` and `end_date`. If a random delay
456
+ (jitter) is set, it will be applied to the trigger.
457
+
458
+ Notes
459
+ -----
460
+ The event will be triggered at 0 and 40 seconds of each minute.
461
+ """
462
+ pass
463
+
464
+ @abstractmethod
465
+ def everyFortyFiveSeconds(
466
+ self
467
+ ) -> bool:
468
+ """
469
+ Schedule the event to run every forty-five seconds.
470
+
471
+ This method configures the event to execute at a fixed interval of forty-five seconds using an
472
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
473
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
474
+ it will be applied to the trigger to help distribute load or avoid collisions.
475
+
476
+ Returns
477
+ -------
478
+ bool
479
+ Returns True after successfully configuring the interval trigger for execution every
480
+ forty-five seconds. The event will be triggered at 0 and 45 seconds of each minute,
481
+ within the optional scheduling window defined by `start_date` and `end_date`. If a
482
+ random delay (jitter) is set, it will be applied to the trigger.
483
+
484
+ Notes
485
+ -----
486
+ The event will be triggered at 0 and 45 seconds of each minute.
487
+ """
488
+ pass
489
+
490
+ @abstractmethod
491
+ def everyFiftySeconds(
492
+ self
493
+ ) -> bool:
494
+ """
495
+ Schedule the event to run every fifty seconds.
496
+
497
+ This method configures the event to execute at a fixed interval of fifty seconds using an
498
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
499
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
500
+ it will be applied to the trigger to help distribute load or avoid collisions.
501
+
502
+ Returns
503
+ -------
504
+ bool
505
+ Returns True after successfully configuring the interval trigger for execution every
506
+ fifty seconds. The event will be triggered at 0 and 50 seconds of each minute, within the
507
+ optional scheduling window defined by `start_date` and `end_date`. If a random delay
508
+ (jitter) is set, it will be applied to the trigger.
509
+
510
+ Notes
511
+ -----
512
+ The event will be triggered at 0 and 50 seconds of each minute.
513
+ """
514
+ pass
515
+
516
+ @abstractmethod
517
+ def everyFiftyFiveSeconds(
518
+ self
519
+ ) -> bool:
520
+ """
521
+ Schedule the event to run every fifty-five seconds.
522
+
523
+ This method configures the event to execute at a fixed interval of fifty-five seconds using an
524
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
525
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
526
+ it will be applied to the trigger to help distribute load or avoid collisions.
527
+
528
+ Returns
529
+ -------
530
+ bool
531
+ Returns True after successfully configuring the interval trigger for execution every
532
+ fifty-five seconds. The event will be triggered at 0 and 55 seconds of each minute,
533
+ within the optional scheduling window defined by `start_date` and `end_date`. If a
534
+ random delay (jitter) is set, it will be applied to the trigger.
535
+ """
536
+ pass
537
+
538
+ @abstractmethod
539
+ def everyMinute(
540
+ self,
541
+ minutes: int
542
+ ) -> bool:
543
+ """
544
+ Schedule the event to run at fixed intervals measured in minutes.
545
+
546
+ This method configures the event to execute repeatedly at a specified interval
547
+ (in minutes). The interval must be a positive integer. Optionally, the event can be
548
+ restricted to a time window using previously set `start_date` and `end_date`. If a
549
+ random delay (jitter) has been configured, it will be applied to the trigger.
550
+
551
+ Parameters
552
+ ----------
553
+ minutes : int
554
+ The interval, in minutes, at which the event should be executed. Must be a positive integer.
555
+
556
+ Returns
557
+ -------
558
+ bool
559
+ Returns True if the interval scheduling was successfully configured. If the input
560
+ is invalid, a `CLIOrionisValueError` is raised and the trigger is not set.
561
+
562
+ Raises
563
+ ------
564
+ CLIOrionisValueError
565
+ If `minutes` is not a positive integer.
566
+
567
+ Notes
568
+ -----
569
+ The event will be triggered every `minutes` minutes, starting from the configured
570
+ `start_date` (if set) and ending at `end_date` (if set). If a random delay (jitter)
571
+ is set, it will be applied to the trigger.
572
+ """
573
+ pass
574
+
575
+ @abstractmethod
576
+ def everyMinuteAt(
577
+ self,
578
+ seconds: int
579
+ ) -> bool:
580
+ """
581
+ Schedule the event to run every minute at a specific second, without applying jitter.
582
+
583
+ This method configures the event to execute at the specified second (0-59) of every minute.
584
+ Any previously configured random delay (jitter) will be ignored for this schedule.
585
+
586
+ Parameters
587
+ ----------
588
+ seconds : int
589
+ The specific second (0-59) of each minute at which the event should be executed.
590
+
591
+ Returns
592
+ -------
593
+ bool
594
+ Returns True if the scheduling was successfully configured.
595
+
596
+ Raises
597
+ ------
598
+ CLIOrionisValueError
599
+ If `seconds` is not an integer between 0 and 59 (inclusive).
600
+
601
+ Notes
602
+ -----
603
+ The event will be triggered at the specified second of every minute, with no jitter applied.
604
+ """
605
+ pass
606
+
607
+ @abstractmethod
608
+ def everyMinutesAt(
609
+ self,
610
+ minutes: int,
611
+ seconds: int
612
+ ) -> bool:
613
+ """
614
+ Schedule the event to run at a specific second of every given interval in minutes.
615
+
616
+ This method configures the event to execute at the specified second (0-59) of every
617
+ `minutes` interval. The scheduling window can be further restricted by previously set
618
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
619
+ it will be applied to the trigger to help distribute load or avoid collisions.
620
+
621
+ Parameters
622
+ ----------
623
+ minutes : int
624
+ The interval, in minutes, at which the event should be executed. Must be a positive integer.
625
+ seconds : int
626
+ The specific second (0-59) of each interval at which the event should be executed.
627
+
628
+ Returns
629
+ -------
630
+ bool
631
+ Returns True if the scheduling was successfully configured. If the input is invalid,
632
+ a `CLIOrionisValueError` is raised and the trigger is not set.
633
+
634
+ Raises
635
+ ------
636
+ CLIOrionisValueError
637
+ If `minutes` is not a positive integer or `seconds` is not an integer between 0 and 59.
638
+
639
+ Notes
640
+ -----
641
+ The event will be triggered at the specified second of every `minutes` interval, within the optional
642
+ scheduling window defined by `start_date` and `end_date`.
643
+ """
644
+ pass
645
+
646
+ @abstractmethod
647
+ def everyFiveMinutes(
648
+ self
649
+ ) -> bool:
650
+ """
651
+ Schedule the event to run every five minutes.
652
+
653
+ This method configures the event to execute at a fixed interval of five minutes using an
654
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
655
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
656
+ it will be applied to the trigger to help distribute load or avoid collisions.
657
+
658
+ Returns
659
+ -------
660
+ bool
661
+ Returns True after successfully configuring the interval trigger for execution every
662
+ five minutes. The method always returns True after setting up the interval trigger.
663
+
664
+ Notes
665
+ -----
666
+ The event will be triggered at 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55 minutes
667
+ of each hour, within the optional scheduling window defined by `start_date` and `end_date`.
668
+ If a random delay (jitter) is set, it will be applied to the trigger.
669
+ """
670
+ pass
671
+
672
+ @abstractmethod
673
+ def everyFiveMinutesAt(
674
+ self,
675
+ seconds: int
676
+ ) -> bool:
677
+ """
678
+ Schedule the event to run every five minutes at a specific second.
679
+
680
+ This method configures the event to execute at the specified second (0-59) of every five-minute interval.
681
+ The scheduling window can be further restricted by previously set `start_date` and `end_date` attributes.
682
+ If a random delay (jitter) has been configured, it will be applied to the trigger to help distribute load
683
+ or avoid collisions.
684
+
685
+ Parameters
686
+ ----------
687
+ seconds : int
688
+ The specific second (0-59) of each five-minute interval at which the event should be executed.
689
+
690
+ Returns
691
+ -------
692
+ bool
693
+ Returns True if the scheduling was successfully configured. If the input is invalid,
694
+ a `CLIOrionisValueError` is raised and the trigger is not set.
695
+
696
+ Raises
697
+ ------
698
+ CLIOrionisValueError
699
+ If `seconds` is not an integer between 0 and 59 (inclusive).
700
+
701
+ Notes
702
+ -----
703
+ The event will be triggered at the specified second of every five-minute interval, within the optional
704
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter) is set,
705
+ it will be applied to the trigger.
706
+ """
707
+ pass
708
+
709
+ @abstractmethod
710
+ def everyTenMinutes(
711
+ self
712
+ ) -> bool:
713
+ """
714
+ Schedule the event to run every ten minutes.
715
+
716
+ This method configures the event to execute at a fixed interval of ten minutes using an
717
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
718
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
719
+ it will be applied to the trigger to help distribute load or avoid collisions.
720
+
721
+ Returns
722
+ -------
723
+ bool
724
+ Returns True after successfully configuring the interval trigger for execution every
725
+ ten minutes. The event will be triggered at 0, 10, 20, 30, 40, and 50 minutes of each hour,
726
+ within the optional scheduling window defined by `start_date` and `end_date`. If a random
727
+ delay (jitter) is set, it will be applied to the trigger.
728
+
729
+ Notes
730
+ -----
731
+ The event will be triggered at every ten-minute interval within each hour.
732
+ """
733
+ pass
734
+
735
+ @abstractmethod
736
+ def everyTenMinutesAt(
737
+ self,
738
+ seconds: int
739
+ ) -> bool:
740
+ """
741
+ Schedule the event to run every ten minutes at a specific second.
742
+
743
+ This method configures the event to execute at the specified second (0-59) of every ten-minute interval.
744
+ Any previously configured random delay (jitter) will be ignored for this schedule. The scheduling window
745
+ can be further restricted by previously set `start_date` and `end_date` attributes.
746
+
747
+ Parameters
748
+ ----------
749
+ seconds : int
750
+ The specific second (0-59) of each ten-minute interval at which the event should be executed.
751
+
752
+ Returns
753
+ -------
754
+ bool
755
+ Returns True if the scheduling was successfully configured. If the input is invalid,
756
+ a `CLIOrionisValueError` is raised and the trigger is not set.
757
+
758
+ Raises
759
+ ------
760
+ CLIOrionisValueError
761
+ If `seconds` is not an integer between 0 and 59 (inclusive).
762
+
763
+ Notes
764
+ -----
765
+ The event will be triggered at the specified second of every ten-minute interval, with no jitter applied.
766
+ The schedule respects any configured `start_date` and `end_date`.
767
+ """
768
+ pass
769
+
770
+ @abstractmethod
771
+ def everyFifteenMinutes(
772
+ self
773
+ ) -> bool:
774
+ """
775
+ Schedule the event to run every fifteen minutes.
776
+
777
+ This method configures the event to execute at a fixed interval of fifteen minutes using an
778
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
779
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
780
+ it will be applied to the trigger to help distribute load or avoid collisions.
781
+
782
+ Returns
783
+ -------
784
+ bool
785
+ Returns True after successfully configuring the interval trigger for execution every
786
+ fifteen minutes. The event will be triggered at 0, 15, 30, and 45 minutes of each hour,
787
+ within the optional scheduling window defined by `start_date` and `end_date`. If a random
788
+ delay (jitter) is set, it will be applied to the trigger.
789
+
790
+ Notes
791
+ -----
792
+ The event will be triggered at every fifteen-minute interval within each hour.
793
+ """
794
+ pass
795
+
796
+ @abstractmethod
797
+ def everyFifteenMinutesAt(
798
+ self,
799
+ seconds: int
800
+ ) -> bool:
801
+ """
802
+ Schedule the event to run every fifteen minutes at a specific second.
803
+
804
+ This method configures the event to execute at the specified second (0-59) of every fifteen-minute interval.
805
+ The scheduling window can be further restricted by previously set `start_date` and `end_date` attributes.
806
+ If a random delay (jitter) has been configured, it will be applied to the trigger to help distribute load
807
+ or avoid collisions.
808
+
809
+ Parameters
810
+ ----------
811
+ seconds : int
812
+ The specific second (0-59) of each fifteen-minute interval at which the event should be executed.
813
+
814
+ Returns
815
+ -------
816
+ bool
817
+ Returns True if the scheduling was successfully configured. If the input is invalid,
818
+ a `CLIOrionisValueError` is raised and the trigger is not set.
819
+
820
+ Raises
821
+ ------
822
+ CLIOrionisValueError
823
+ If `seconds` is not an integer between 0 and 59 (inclusive).
824
+
825
+ Notes
826
+ -----
827
+ The event will be triggered at the specified second of every fifteen-minute interval, within the optional
828
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter) is set,
829
+ it will be applied to the trigger.
830
+ """
831
+ pass
832
+
833
+ @abstractmethod
834
+ def everyTwentyMinutes(
835
+ self
836
+ ) -> bool:
837
+ """
838
+ Schedule the event to run every twenty minutes.
839
+
840
+ This method configures the event to execute at a fixed interval of twenty minutes using an
841
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
842
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
843
+ it will be applied to the trigger to help distribute load or avoid collisions.
844
+
845
+ Returns
846
+ -------
847
+ bool
848
+ Returns True after successfully configuring the interval trigger for execution every
849
+ twenty minutes. The event will be triggered at 0, 20, and 40 minutes of each hour,
850
+ within the optional scheduling window defined by `start_date` and `end_date`. If a
851
+ random delay (jitter) is set, it will be applied to the trigger.
852
+
853
+ Notes
854
+ -----
855
+ The event will be triggered at 0, 20, and 40 minutes of each hour.
856
+ """
857
+ pass
858
+
859
+ @abstractmethod
860
+ def everyTwentyMinutesAt(
861
+ self,
862
+ seconds: int
863
+ ) -> bool:
864
+ """
865
+ Schedule the event to run every twenty minutes at a specific second.
866
+
867
+ This method configures the event to execute at the specified second (0-59) of every twenty-minute interval.
868
+ The scheduling window can be further restricted by previously set `start_date` and `end_date` attributes.
869
+ If a random delay (jitter) has been configured, it will be applied to the trigger to help distribute load
870
+ or avoid collisions.
871
+
872
+ Parameters
873
+ ----------
874
+ seconds : int
875
+ The specific second (0-59) of each twenty-minute interval at which the event should be executed.
876
+
877
+ Returns
878
+ -------
879
+ bool
880
+ Returns True if the scheduling was successfully configured. If the input is invalid,
881
+ a `CLIOrionisValueError` is raised and the trigger is not set.
882
+
883
+ Raises
884
+ ------
885
+ CLIOrionisValueError
886
+ If `seconds` is not an integer between 0 and 59 (inclusive).
887
+
888
+ Notes
889
+ -----
890
+ The event will be triggered at the specified second of every twenty-minute interval, within the optional
891
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter) is set,
892
+ it will be applied to the trigger.
893
+ """
894
+ pass
895
+
896
+ @abstractmethod
897
+ def everyTwentyFiveMinutes(
898
+ self
899
+ ) -> bool:
900
+ """
901
+ Schedule the event to run every twenty-five minutes.
902
+
903
+ This method configures the event to execute at a fixed interval of twenty-five minutes using an
904
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
905
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
906
+ it will be applied to the trigger to help distribute load or avoid collisions.
907
+
908
+ Returns
909
+ -------
910
+ bool
911
+ Returns True after successfully configuring the interval trigger for execution every
912
+ twenty-five minutes. The event will be triggered at 0, 25, and 50 minutes of each hour,
913
+ within the optional scheduling window defined by `start_date` and `end_date`. If a random
914
+ delay (jitter) is set, it will be applied to the trigger.
915
+ """
916
+ pass
917
+
918
+ @abstractmethod
919
+ def everyTwentyFiveMinutesAt(
920
+ self,
921
+ seconds: int
922
+ ) -> bool:
923
+ """
924
+ Schedule the event to run every twenty-five minutes at a specific second.
925
+
926
+ This method sets up the event to execute at the specified second (0-59) of every twenty-five-minute interval.
927
+ The scheduling window can be further restricted by previously set `start_date` and `end_date` attributes.
928
+ If a random delay (jitter) has been configured, it will be applied to the trigger.
929
+
930
+ Parameters
931
+ ----------
932
+ seconds : int
933
+ The specific second (0-59) of each twenty-five-minute interval at which the event should be executed.
934
+
935
+ Returns
936
+ -------
937
+ bool
938
+ Returns True if the scheduling was successfully configured. If the input is invalid,
939
+ a `CLIOrionisValueError` is raised and the trigger is not set.
940
+
941
+ Raises
942
+ ------
943
+ CLIOrionisValueError
944
+ If `seconds` is not an integer between 0 and 59 (inclusive).
945
+
946
+ Notes
947
+ -----
948
+ The event will be triggered at the specified second of every twenty-five-minute interval,
949
+ within the optional scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
950
+ is set, it will be applied to the trigger.
951
+ """
952
+ pass
953
+
954
+ @abstractmethod
955
+ def everyThirtyMinutes(
956
+ self
957
+ ) -> bool:
958
+ """
959
+ Schedule the event to run every thirty minutes.
960
+
961
+ This method configures the event to execute at a fixed interval of thirty minutes using an
962
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
963
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
964
+ it will be applied to the trigger to help distribute load or avoid collisions.
965
+
966
+ Returns
967
+ -------
968
+ bool
969
+ Returns True after successfully configuring the interval trigger for execution every
970
+ thirty minutes. The event will be triggered at 0 and 30 minutes of each hour, within the
971
+ optional scheduling window defined by `start_date` and `end_date`. If a random delay
972
+ (jitter) is set, it will be applied to the trigger.
973
+
974
+ Notes
975
+ -----
976
+ The event will be triggered at 0 and 30 minutes of each hour.
977
+ """
978
+ pass
979
+
980
+ @abstractmethod
981
+ def everyThirtyMinutesAt(
982
+ self,
983
+ seconds: int
984
+ ) -> bool:
985
+ """
986
+ Schedule the event to run every thirty minutes at a specific second.
987
+
988
+ This method configures the event to execute at the specified second (0-59) of every thirty-minute interval.
989
+ The scheduling window can be further restricted by previously set `start_date` and `end_date` attributes.
990
+ If a random delay (jitter) has been configured, it will be applied to the trigger to help distribute load
991
+ or avoid collisions.
992
+
993
+ Parameters
994
+ ----------
995
+ seconds : int
996
+ The specific second (0-59) of each thirty-minute interval at which the event should be executed.
997
+
998
+ Returns
999
+ -------
1000
+ bool
1001
+ Returns True if the scheduling was successfully configured. If the input is invalid,
1002
+ a `CLIOrionisValueError` is raised and the trigger is not set.
1003
+
1004
+ Raises
1005
+ ------
1006
+ CLIOrionisValueError
1007
+ If `seconds` is not an integer between 0 and 59 (inclusive).
1008
+
1009
+ Notes
1010
+ -----
1011
+ The event will be triggered at the specified second of every thirty-minute interval, within the optional
1012
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter) is set,
1013
+ it will be applied to the trigger.
1014
+ """
1015
+ pass
1016
+
1017
+ @abstractmethod
1018
+ def everyThirtyFiveMinutes(
1019
+ self
1020
+ ) -> bool:
1021
+ """
1022
+ Schedule the event to run every thirty-five minutes.
1023
+
1024
+ This method configures the event to execute at a fixed interval of thirty-five minutes using an
1025
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
1026
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1027
+ it will be applied to the trigger to help distribute load or avoid collisions.
1028
+
1029
+ Returns
1030
+ -------
1031
+ bool
1032
+ Returns True after successfully configuring the interval trigger for execution every
1033
+ thirty-five minutes. The event will be triggered at 0 and 35 minutes of each hour,
1034
+ within the optional scheduling window defined by `start_date` and `end_date`. If a
1035
+ random delay (jitter) is set, it will be applied to the trigger.
1036
+
1037
+ Notes
1038
+ -----
1039
+ The event will be triggered at 0 and 35 minutes of each hour.
1040
+ """
1041
+ pass
1042
+
1043
+ @abstractmethod
1044
+ def everyThirtyFiveMinutesAt(
1045
+ self,
1046
+ seconds: int
1047
+ ) -> bool:
1048
+ """
1049
+ Schedule the event to run every 35 minutes at a specific second.
1050
+
1051
+ This method configures the event to execute at the specified second (0-59) of every 35-minute interval.
1052
+ The scheduling window can be further restricted by previously set `start_date` and `end_date` attributes.
1053
+ If a random delay (jitter) has been configured, it will be applied to the trigger to help distribute load
1054
+ or avoid collisions.
1055
+
1056
+ Parameters
1057
+ ----------
1058
+ seconds : int
1059
+ The specific second (0-59) of each 35-minute interval at which the event should be executed.
1060
+
1061
+ Returns
1062
+ -------
1063
+ bool
1064
+ True if the scheduling was successfully configured. If the input is invalid, a `CLIOrionisValueError`
1065
+ is raised and the trigger is not set.
1066
+
1067
+ Raises
1068
+ ------
1069
+ CLIOrionisValueError
1070
+ If `seconds` is not an integer between 0 and 59 (inclusive).
1071
+
1072
+ Notes
1073
+ -----
1074
+ The event will be triggered at the specified second of every 35-minute interval, within the optional
1075
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter) is set,
1076
+ it will be applied to the trigger.
1077
+ """
1078
+ pass
1079
+
1080
+ @abstractmethod
1081
+ def everyFortyMinutes(
1082
+ self
1083
+ ) -> bool:
1084
+ """
1085
+ Schedule the event to run every forty minutes.
1086
+
1087
+ This method configures the event to execute at a fixed interval of forty minutes using an
1088
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
1089
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1090
+ it will be applied to the trigger to help distribute load or avoid collisions.
1091
+
1092
+ Returns
1093
+ -------
1094
+ bool
1095
+ Returns True after successfully configuring the interval trigger for execution every
1096
+ forty minutes. The event will be triggered at 0, 40 minutes of each hour, within the
1097
+ optional scheduling window defined by `start_date` and `end_date`. If a random delay
1098
+ (jitter) is set, it will be applied to the trigger.
1099
+
1100
+ Notes
1101
+ -----
1102
+ The event will be triggered at 0 and 40 minutes of each hour.
1103
+ """
1104
+ pass
1105
+
1106
+ @abstractmethod
1107
+ def everyFortyMinutesAt(
1108
+ self,
1109
+ seconds: int
1110
+ ) -> bool:
1111
+ """
1112
+ Schedule the event to run every forty minutes at a specific second.
1113
+
1114
+ This method configures the event to execute at the specified second (0-59) of every forty-minute interval.
1115
+ The scheduling window can be further restricted by previously set `start_date` and `end_date` attributes.
1116
+ If a random delay (jitter) has been configured, it will be applied to the trigger to help distribute load
1117
+ or avoid collisions.
1118
+
1119
+ Parameters
1120
+ ----------
1121
+ seconds : int
1122
+ The specific second (0-59) of each forty-minute interval at which the event should be executed.
1123
+
1124
+ Returns
1125
+ -------
1126
+ bool
1127
+ Returns True if the scheduling was successfully configured. If the input is invalid,
1128
+ a `CLIOrionisValueError` is raised and the trigger is not set.
1129
+
1130
+ Raises
1131
+ ------
1132
+ CLIOrionisValueError
1133
+ If `seconds` is not an integer between 0 and 59 (inclusive).
1134
+
1135
+ Notes
1136
+ -----
1137
+ The event will be triggered at the specified second of every forty-minute interval, within the optional
1138
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter) is set,
1139
+ it will be applied to the trigger.
1140
+ """
1141
+ pass
1142
+
1143
+ @abstractmethod
1144
+ def everyFortyFiveMinutes(
1145
+ self
1146
+ ) -> bool:
1147
+ """
1148
+ Schedule the event to run every forty-five minutes.
1149
+
1150
+ This method configures the event to execute at a fixed interval of forty-five minutes using an
1151
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
1152
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1153
+ it will be applied to the trigger to help distribute load or avoid collisions.
1154
+
1155
+ Returns
1156
+ -------
1157
+ bool
1158
+ True if the scheduling was successfully configured. The event will be triggered at
1159
+ 0 and 45 minutes of each hour, within the optional scheduling window defined by
1160
+ `start_date` and `end_date`. If a random delay (jitter) is set, it will be applied
1161
+ to the trigger.
1162
+
1163
+ Notes
1164
+ -----
1165
+ The event will be triggered at 0 and 45 minutes of each hour.
1166
+ """
1167
+ pass
1168
+
1169
+ @abstractmethod
1170
+ def everyFortyFiveMinutesAt(
1171
+ self,
1172
+ seconds: int
1173
+ ) -> bool:
1174
+ """
1175
+ Schedule the event to run every forty-five minutes at a specific second.
1176
+
1177
+ This method configures the event to execute at the specified second (0-59)
1178
+ of every forty-five-minute interval. The scheduling window can be further
1179
+ restricted by previously set `start_date` and `end_date` attributes. If a
1180
+ random delay (jitter) has been configured, it will be applied to the trigger.
1181
+
1182
+ Parameters
1183
+ ----------
1184
+ seconds : int
1185
+ The specific second (0-59) of each forty-five-minute interval at which
1186
+ the event should be executed.
1187
+
1188
+ Returns
1189
+ -------
1190
+ bool
1191
+ Returns True if the scheduling was successfully configured. If the input
1192
+ is invalid, a `CLIOrionisValueError` is raised and the trigger is not set.
1193
+
1194
+ Raises
1195
+ ------
1196
+ CLIOrionisValueError
1197
+ If `seconds` is not an integer between 0 and 59 (inclusive).
1198
+
1199
+ Notes
1200
+ -----
1201
+ The event will be triggered at the specified second of every forty-five-minute
1202
+ interval, within the optional scheduling window defined by `start_date` and
1203
+ `end_date`. If a random delay (jitter) is set, it will be applied to the trigger.
1204
+ """
1205
+ pass
1206
+
1207
+ @abstractmethod
1208
+ def everyFiftyMinutes(
1209
+ self
1210
+ ) -> bool:
1211
+ """
1212
+ Schedule the event to run every fifty minutes.
1213
+
1214
+ This method configures the event to execute at a fixed interval of fifty minutes using an
1215
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
1216
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1217
+ it will be applied to the trigger to help distribute load or avoid collisions.
1218
+
1219
+ Returns
1220
+ -------
1221
+ bool
1222
+ Returns True after successfully configuring the interval trigger for execution every
1223
+ fifty minutes. The event will be triggered at 0, 50 minutes of each hour, within the
1224
+ optional scheduling window defined by `start_date` and `end_date`. If a random delay
1225
+ (jitter) is set, it will be applied to the trigger.
1226
+
1227
+ Notes
1228
+ -----
1229
+ The event will be triggered at 0 and 50 minutes of each hour.
1230
+ """
1231
+ pass
1232
+
1233
+ @abstractmethod
1234
+ def everyFiftyMinutesAt(
1235
+ self,
1236
+ seconds: int
1237
+ ) -> bool:
1238
+ """
1239
+ Schedule the event to run every fifty minutes at a specific second.
1240
+
1241
+ This method configures the event to execute at the specified second (0-59)
1242
+ of every fifty-minute interval. The scheduling window can be further restricted
1243
+ by previously set `start_date` and `end_date` attributes. If a random delay
1244
+ (jitter) has been configured, it will be applied to the trigger.
1245
+
1246
+ Parameters
1247
+ ----------
1248
+ seconds : int
1249
+ The specific second (0-59) of each fifty-minute interval at which the
1250
+ event should be executed.
1251
+
1252
+ Returns
1253
+ -------
1254
+ bool
1255
+ True if the scheduling was successfully configured. If the input is invalid,
1256
+ a `CLIOrionisValueError` is raised and the trigger is not set.
1257
+
1258
+ Raises
1259
+ ------
1260
+ CLIOrionisValueError
1261
+ If `seconds` is not an integer between 0 and 59 (inclusive).
1262
+
1263
+ Notes
1264
+ -----
1265
+ The event will be triggered at the specified second of every fifty-minute
1266
+ interval, within the optional scheduling window defined by `start_date`
1267
+ and `end_date`. If a random delay (jitter) is set, it will be applied to
1268
+ the trigger.
1269
+ """
1270
+ pass
1271
+
1272
+ @abstractmethod
1273
+ def everyFiftyFiveMinutes(
1274
+ self
1275
+ ) -> bool:
1276
+ """
1277
+ Schedule the event to run every fifty-five minutes.
1278
+
1279
+ This method configures the event to execute at a fixed interval of fifty-five minutes
1280
+ using an `IntervalTrigger`. The scheduling window can be further restricted by previously
1281
+ set `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1282
+ it will be applied to the trigger to help distribute load or avoid collisions.
1283
+
1284
+ Returns
1285
+ -------
1286
+ bool
1287
+ Returns True after successfully configuring the interval trigger for execution every
1288
+ fifty-five minutes. The event will be triggered at 0 and 55 minutes of each hour,
1289
+ within the optional scheduling window defined by `start_date` and `end_date`. If a
1290
+ random delay (jitter) is set, it will be applied to the trigger.
1291
+
1292
+ Notes
1293
+ -----
1294
+ The event will be triggered at 0 and 55 minutes of each hour.
1295
+ """
1296
+ pass
1297
+
1298
+ @abstractmethod
1299
+ def everyFiftyFiveMinutesAt(
1300
+ self,
1301
+ seconds: int
1302
+ ) -> bool:
1303
+ """
1304
+ Determines if the current time matches a schedule that triggers
1305
+ every 55 minutes at a specific second.
1306
+
1307
+ Parameters
1308
+ ----------
1309
+ seconds : int
1310
+ The specific second of the 55th minute at which the event should trigger.
1311
+
1312
+ Returns
1313
+ -------
1314
+ bool
1315
+ True if the current time matches the schedule (55 minutes past the hour
1316
+ at the specified second), False otherwise.
1317
+
1318
+ Notes
1319
+ -----
1320
+ This method is a wrapper around `everyMinutesAt` with the minute parameter
1321
+ fixed at 55.
1322
+ """
1323
+ pass
1324
+
1325
+ @abstractmethod
1326
+ def hourly(
1327
+ self
1328
+ ) -> bool:
1329
+ """
1330
+ Schedule the event to run every hour.
1331
+
1332
+ This method configures the event to execute once every hour, starting from the
1333
+ optionally set `start_date` and ending at the optionally set `end_date`. If a random
1334
+ delay (jitter) has been configured, it will be applied to the trigger to help distribute
1335
+ load or avoid collisions. The method ensures that the event is triggered at regular
1336
+ hourly intervals.
1337
+
1338
+ Returns
1339
+ -------
1340
+ bool
1341
+ True if the hourly scheduling was successfully configured. The method always
1342
+ returns True after setting up the interval trigger.
1343
+
1344
+ Notes
1345
+ -----
1346
+ The event will be triggered at the start of every hour, within the optional scheduling
1347
+ window defined by `start_date` and `end_date`. If a random delay (jitter) is set, it
1348
+ will be applied to the trigger.
1349
+ """
1350
+ pass
1351
+
1352
+ @abstractmethod
1353
+ def hourlyAt(
1354
+ self,
1355
+ minute: int,
1356
+ second: int = 0
1357
+ ) -> bool:
1358
+ """
1359
+ Schedule the event to run every hour at a specific minute and second.
1360
+
1361
+ This method configures the event to execute once every hour at the specified
1362
+ minute and second. The schedule can be further restricted by previously set
1363
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been
1364
+ configured, it will be applied to the trigger to help distribute load or avoid
1365
+ collisions.
1366
+
1367
+ Parameters
1368
+ ----------
1369
+ minute : int
1370
+ The minute of the hour when the event should run. Must be in the range [0, 59].
1371
+ second : int, optional
1372
+ The second of the minute when the event should run. Must be in the range [0, 59].
1373
+ Default is 0.
1374
+
1375
+ Returns
1376
+ -------
1377
+ bool
1378
+ True if the hourly scheduling was successfully configured. If the input
1379
+ is invalid, a `CLIOrionisValueError` is raised and the trigger is not set.
1380
+
1381
+ Raises
1382
+ ------
1383
+ CLIOrionisValueError
1384
+ If `minute` or `second` are not integers within the valid ranges [0, 59].
1385
+
1386
+ Notes
1387
+ -----
1388
+ The event will be triggered every hour at the specified minute and second,
1389
+ within the optional scheduling window defined by `start_date` and `end_date`.
1390
+ """
1391
+ pass
1392
+
1393
+ @abstractmethod
1394
+ def everyOddHours(
1395
+ self
1396
+ ) -> bool:
1397
+ """
1398
+ Schedule the event to run at every odd hour of the day (e.g., 1 AM, 3 AM, 5 AM, ..., 11 PM).
1399
+
1400
+ This method configures the event to execute at every odd-numbered hour using a `CronTrigger`.
1401
+ The schedule can be further restricted by previously set `start_date` and `end_date`.
1402
+ If a random delay (jitter) has been configured, it will be applied to the trigger.
1403
+
1404
+ Returns
1405
+ -------
1406
+ bool
1407
+ True if the scheduling was successfully configured. The event will be triggered
1408
+ at hours 1, 3, 5, ..., 23 of each day.
1409
+
1410
+ Notes
1411
+ -----
1412
+ The event will be triggered at odd hours of the day, starting from 1 AM and ending at 11 PM.
1413
+ """
1414
+ pass
1415
+
1416
+ @abstractmethod
1417
+ def everyEvenHours(
1418
+ self
1419
+ ) -> bool:
1420
+ """
1421
+ Schedule the event to run at every even hour of the day (e.g., 12 AM, 2 AM, 4 AM, ..., 10 PM).
1422
+
1423
+ This method configures the event to execute at every even-numbered hour using a `CronTrigger`.
1424
+ The schedule can be further restricted by previously set `start_date` and `end_date`.
1425
+ If a random delay (jitter) has been configured, it will be applied to the trigger.
1426
+
1427
+ Returns
1428
+ -------
1429
+ bool
1430
+ True if the scheduling was successfully configured. The event will be triggered
1431
+ at hours 0, 2, 4, ..., 22 of each day.
1432
+
1433
+ Notes
1434
+ -----
1435
+ The event will be triggered at even hours of the day, starting from 12 AM and ending at 10 PM.
1436
+ """
1437
+ pass
1438
+
1439
+ @abstractmethod
1440
+ def everyHours(
1441
+ self,
1442
+ hours: int
1443
+ ) -> bool:
1444
+ """
1445
+ Schedule the event to run at fixed intervals measured in hours.
1446
+
1447
+ This method configures the event to execute repeatedly at a specified interval
1448
+ (in hours). The interval must be a positive integer. Optionally, the event can be
1449
+ restricted to a time window using previously set `start_date` and `end_date`. If a
1450
+ random delay (jitter) has been configured, it will be applied to the trigger.
1451
+
1452
+ Parameters
1453
+ ----------
1454
+ hours : int
1455
+ The interval, in hours, at which the event should be executed. Must be a positive integer.
1456
+
1457
+ Returns
1458
+ -------
1459
+ bool
1460
+ True if the interval scheduling was successfully configured. If the input is invalid,
1461
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
1462
+
1463
+ Raises
1464
+ ------
1465
+ CLIOrionisValueError
1466
+ If `hours` is not a positive integer.
1467
+
1468
+ Notes
1469
+ -----
1470
+ The event will be triggered every `hours` hours, starting from the configured
1471
+ `start_date` (if set) and ending at `end_date` (if set). If a random delay (jitter)
1472
+ is set, it will be applied to the trigger.
1473
+ """
1474
+ pass
1475
+
1476
+ @abstractmethod
1477
+ def everyHoursAt(
1478
+ self,
1479
+ hours: int,
1480
+ minute: int,
1481
+ second: int = 0
1482
+ ) -> bool:
1483
+ """
1484
+ Schedule the event to run every hour at a specific minute and second.
1485
+
1486
+ This method configures the event to execute once every hour at the specified
1487
+ minute and second. The schedule can be further restricted by previously set
1488
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
1489
+ for this schedule.
1490
+
1491
+ Parameters
1492
+ ----------
1493
+ minute : int
1494
+ The minute of the hour when the event should run. Must be in the range [0, 59].
1495
+ second : int, optional
1496
+ The second of the minute when the event should run. Must be in the range [0, 59].
1497
+ Default is 0.
1498
+
1499
+ Returns
1500
+ -------
1501
+ bool
1502
+ True if the scheduling was successfully configured. If the input is invalid,
1503
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
1504
+
1505
+ Raises
1506
+ ------
1507
+ CLIOrionisValueError
1508
+ If `minute` or `second` are not integers within the valid ranges [0, 59].
1509
+
1510
+ Notes
1511
+ -----
1512
+ The event will be triggered every hour at the specified minute and second,
1513
+ within the optional scheduling window defined by `start_date` and `end_date`.
1514
+ """
1515
+ pass
1516
+
1517
+ @abstractmethod
1518
+ def everyTwoHours(
1519
+ self
1520
+ ) -> bool:
1521
+ """
1522
+ Schedule the event to run every two hours.
1523
+
1524
+ This method configures the event to execute at a fixed interval of two hours using the
1525
+ `everyHours` method. The scheduling window can be further restricted by previously set
1526
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1527
+ it will be applied to the trigger.
1528
+
1529
+ Returns
1530
+ -------
1531
+ bool
1532
+ True if the scheduling was successfully configured. The method always returns True
1533
+ after delegating the scheduling to `everyHours`.
1534
+ """
1535
+ pass
1536
+
1537
+ @abstractmethod
1538
+ def everyTwoHoursAt(
1539
+ self,
1540
+ minute: int,
1541
+ second: int = 0
1542
+ ) -> bool:
1543
+ """
1544
+ Schedule the event to run every two hours at a specific minute and second.
1545
+
1546
+ This method configures the event to execute every two hours at the specified
1547
+ minute and second. The schedule can be further restricted by previously set
1548
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been
1549
+ configured, it will be applied to the trigger.
1550
+
1551
+ Parameters
1552
+ ----------
1553
+ minute : int
1554
+ The minute of the hour when the event should run. Must be in the range [0, 59].
1555
+ second : int, optional
1556
+ The second of the minute when the event should run. Must be in the range [0, 59].
1557
+ Default is 0.
1558
+
1559
+ Returns
1560
+ -------
1561
+ bool
1562
+ Returns True if the scheduling was successfully configured. If the input
1563
+ is invalid, a `CLIOrionisValueError` is raised, and the trigger is not set.
1564
+
1565
+ Raises
1566
+ ------
1567
+ CLIOrionisValueError
1568
+ If `minute` or `second` are not integers within the valid ranges.
1569
+
1570
+ Notes
1571
+ -----
1572
+ The event will be triggered every two hours at the specified minute and second,
1573
+ within the optional scheduling window defined by `start_date` and `end_date`.
1574
+ """
1575
+ pass
1576
+
1577
+ @abstractmethod
1578
+ def everyThreeHours(
1579
+ self
1580
+ ) -> bool:
1581
+ """
1582
+ Schedule the event to run every three hours.
1583
+
1584
+ This method configures the event to execute at a fixed interval of three hours using the
1585
+ `everyHours` method. The scheduling window can be further restricted by previously set
1586
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1587
+ it will be applied to the trigger.
1588
+
1589
+ Returns
1590
+ -------
1591
+ bool
1592
+ True if the scheduling was successfully configured. The method always returns True
1593
+ after delegating the scheduling to `everyHours`.
1594
+ """
1595
+ pass
1596
+
1597
+ @abstractmethod
1598
+ def everyThreeHoursAt(
1599
+ self,
1600
+ minute: int,
1601
+ second: int = 0
1602
+ ) -> bool:
1603
+ """
1604
+ Schedule the event to run every three hours at a specific minute and second.
1605
+
1606
+ This method configures the event to execute every three hours at the specified
1607
+ minute and second. The schedule can be further restricted by previously set
1608
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
1609
+ for this schedule.
1610
+
1611
+ Parameters
1612
+ ----------
1613
+ minute : int
1614
+ The minute of the hour when the event should run. Must be in the range [0, 59].
1615
+ second : int, optional
1616
+ The second of the minute when the event should run. Must be in the range [0, 59].
1617
+ Default is 0.
1618
+
1619
+ Returns
1620
+ -------
1621
+ bool
1622
+ Returns True if the scheduling was successfully configured. If the input is invalid,
1623
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
1624
+
1625
+ Raises
1626
+ ------
1627
+ CLIOrionisValueError
1628
+ If `minute` or `second` are not integers within the valid ranges.
1629
+
1630
+ Notes
1631
+ -----
1632
+ The event will be triggered every three hours at the specified minute and second,
1633
+ within the optional scheduling window defined by `start_date` and `end_date`.
1634
+ """
1635
+ pass
1636
+
1637
+ @abstractmethod
1638
+ def everyFourHours(
1639
+ self
1640
+ ) -> bool:
1641
+ """
1642
+ Schedule the event to run every four hours.
1643
+
1644
+ This method configures the event to execute at a fixed interval of four hours using the
1645
+ `everyHours` method. The scheduling window can be further restricted by previously set
1646
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1647
+ it will be applied to the trigger.
1648
+
1649
+ Returns
1650
+ -------
1651
+ bool
1652
+ True if the scheduling was successfully configured. The method always returns True
1653
+ after delegating the scheduling to `everyHours`.
1654
+
1655
+ Notes
1656
+ -----
1657
+ The event will be triggered at 0:00, 4:00, 8:00, ..., 20:00 of each day.
1658
+ """
1659
+ pass
1660
+
1661
+ @abstractmethod
1662
+ def everyFourHoursAt(
1663
+ self,
1664
+ minute: int,
1665
+ second: int = 0
1666
+ ) -> bool:
1667
+ """
1668
+ Schedule the event to run every four hours at a specific minute and second.
1669
+
1670
+ This method configures the event to execute every four hours at the specified
1671
+ minute and second. The schedule can be further restricted by previously set
1672
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
1673
+ for this schedule.
1674
+
1675
+ Parameters
1676
+ ----------
1677
+ minute : int
1678
+ The minute of the hour when the event should run. Must be in the range [0, 59].
1679
+ second : int, optional
1680
+ The second of the minute when the event should run. Must be in the range [0, 59].
1681
+ Default is 0.
1682
+
1683
+ Returns
1684
+ -------
1685
+ bool
1686
+ Returns True if the scheduling was successfully configured. If the input is invalid,
1687
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
1688
+
1689
+ Raises
1690
+ ------
1691
+ CLIOrionisValueError
1692
+ If `minute` or `second` are not integers within the valid ranges.
1693
+
1694
+ Notes
1695
+ -----
1696
+ The event will be triggered every four hours at the specified minute and second,
1697
+ within the optional scheduling window defined by `start_date` and `end_date`.
1698
+ """
1699
+ pass
1700
+
1701
+ @abstractmethod
1702
+ def everyFiveHours(
1703
+ self
1704
+ ) -> bool:
1705
+ """
1706
+ Schedule the event to run every five hours.
1707
+
1708
+ This method configures the event to execute at a fixed interval of five hours using the
1709
+ `everyHours` method. The scheduling window can be further restricted by previously set
1710
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1711
+ it will be applied to the trigger.
1712
+
1713
+ Returns
1714
+ -------
1715
+ bool
1716
+ True if the scheduling was successfully configured. The method always returns True
1717
+ after delegating the scheduling to `everyHours`.
1718
+
1719
+ Notes
1720
+ -----
1721
+ The event will be triggered at 0:00, 5:00, 10:00, 15:00, and 20:00 of each day.
1722
+ """
1723
+ pass
1724
+
1725
+ @abstractmethod
1726
+ def everyFiveHoursAt(
1727
+ self,
1728
+ minute: int,
1729
+ second: int = 0
1730
+ ) -> bool:
1731
+ """
1732
+ Schedule the event to run every five hours at a specific minute and second.
1733
+
1734
+ This method configures the event to execute every five hours at the specified
1735
+ minute and second. The schedule can be further restricted by previously set
1736
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
1737
+ for this schedule.
1738
+
1739
+ Parameters
1740
+ ----------
1741
+ minute : int
1742
+ The minute of the hour when the event should run. Must be in the range [0, 59].
1743
+ second : int, optional
1744
+ The second of the minute when the event should run. Must be in the range [0, 59].
1745
+ Default is 0.
1746
+
1747
+ Returns
1748
+ -------
1749
+ bool
1750
+ Returns True if the scheduling was successfully configured. If the input is invalid,
1751
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
1752
+
1753
+ Notes
1754
+ -----
1755
+ The event will be triggered every five hours at the specified minute and second,
1756
+ within the optional scheduling window defined by `start_date` and `end_date`.
1757
+ """
1758
+ pass
1759
+
1760
+ @abstractmethod
1761
+ def everySixHours(
1762
+ self
1763
+ ) -> bool:
1764
+ """
1765
+ Schedule the event to run every six hours.
1766
+
1767
+ This method configures the event to execute at a fixed interval of six hours using the
1768
+ `everyHours` method. The scheduling window can be further restricted by previously set
1769
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1770
+ it will be applied to the trigger.
1771
+
1772
+ Returns
1773
+ -------
1774
+ bool
1775
+ True if the scheduling was successfully configured. The method always returns True
1776
+ after delegating the scheduling to `everyHours`.
1777
+
1778
+ Notes
1779
+ -----
1780
+ The event will be triggered at 0:00, 6:00, 12:00, and 18:00 of each day.
1781
+ """
1782
+ pass
1783
+
1784
+ @abstractmethod
1785
+ def everySixHoursAt(
1786
+ self,
1787
+ minute: int,
1788
+ second: int = 0
1789
+ ) -> bool:
1790
+ """
1791
+ Schedule the event to run every six hours at a specific minute and second.
1792
+
1793
+ This method configures the event to execute every six hours at the specified
1794
+ minute and second. The schedule can be further restricted by previously set
1795
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
1796
+ for this schedule.
1797
+
1798
+ Parameters
1799
+ ----------
1800
+ minute : int
1801
+ The minute of the hour when the event should run. Must be in the range [0, 59].
1802
+ second : int, optional
1803
+ The second of the minute when the event should run. Must be in the range [0, 59].
1804
+ Default is 0.
1805
+
1806
+ Returns
1807
+ -------
1808
+ bool
1809
+ Returns True if the scheduling was successfully configured. If the input is invalid,
1810
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
1811
+
1812
+ Raises
1813
+ ------
1814
+ CLIOrionisValueError
1815
+ If `minute` or `second` are not integers within the valid ranges.
1816
+
1817
+ Notes
1818
+ -----
1819
+ The event will be triggered every six hours at the specified minute and second,
1820
+ within the optional scheduling window defined by `start_date` and `end_date`.
1821
+ """
1822
+ pass
1823
+
1824
+ @abstractmethod
1825
+ def everySevenHours(
1826
+ self
1827
+ ) -> bool:
1828
+ """
1829
+ Schedule the event to run every seven hours.
1830
+
1831
+ This method configures the event to execute at a fixed interval of seven hours using the
1832
+ `everyHours` method. The scheduling window can be further restricted by previously set
1833
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1834
+ it will be applied to the trigger.
1835
+
1836
+ Returns
1837
+ -------
1838
+ bool
1839
+ True if the scheduling was successfully configured. The method always returns True
1840
+ after delegating the scheduling to `everyHours`.
1841
+
1842
+ Notes
1843
+ -----
1844
+ The event will be triggered at 0:00, 7:00, 14:00, and 21:00 of each day.
1845
+ """
1846
+ pass
1847
+
1848
+ @abstractmethod
1849
+ def everySevenHoursAt(
1850
+ self,
1851
+ minute: int,
1852
+ second: int = 0
1853
+ ) -> bool:
1854
+ """
1855
+ Schedule the event to run every seven hours at a specific minute and second.
1856
+
1857
+ This method configures the event to execute every seven hours at the specified
1858
+ minute and second. The schedule can be further restricted by previously set
1859
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
1860
+ for this schedule.
1861
+
1862
+ Parameters
1863
+ ----------
1864
+ minute : int
1865
+ The minute of the hour when the event should run. Must be in the range [0, 59].
1866
+ second : int, optional
1867
+ The second of the minute when the event should run. Must be in the range [0, 59].
1868
+ Default is 0.
1869
+
1870
+ Returns
1871
+ -------
1872
+ bool
1873
+ Returns True if the scheduling was successfully configured. If the input is invalid,
1874
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
1875
+
1876
+ Raises
1877
+ ------
1878
+ CLIOrionisValueError
1879
+ If `minute` or `second` are not integers within the valid ranges.
1880
+
1881
+ Notes
1882
+ -----
1883
+ The event will be triggered every seven hours at the specified minute and second,
1884
+ within the optional scheduling window defined by `start_date` and `end_date`.
1885
+ """
1886
+ pass
1887
+
1888
+ @abstractmethod
1889
+ def everyEightHours(
1890
+ self
1891
+ ) -> bool:
1892
+ """
1893
+ Schedule the event to run every eight hours.
1894
+
1895
+ This method configures the event to execute at a fixed interval of eight hours using the
1896
+ `everyHours` method. The scheduling window can be further restricted by previously set
1897
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1898
+ it will be applied to the trigger.
1899
+
1900
+ Returns
1901
+ -------
1902
+ bool
1903
+ True if the scheduling was successfully configured. The method always returns True
1904
+ after delegating the scheduling to `everyHours`.
1905
+
1906
+ Notes
1907
+ -----
1908
+ The event will be triggered at 0:00, 8:00, 16:00 of each day.
1909
+ """
1910
+ pass
1911
+
1912
+ @abstractmethod
1913
+ def everyEightHoursAt(
1914
+ self,
1915
+ minute: int,
1916
+ second: int = 0
1917
+ ) -> bool:
1918
+ """
1919
+ Schedule the event to run every eight hours at a specific minute and second.
1920
+
1921
+ This method configures the event to execute every eight hours at the specified
1922
+ minute and second. The schedule can be further restricted by previously set
1923
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
1924
+ for this schedule.
1925
+
1926
+ Parameters
1927
+ ----------
1928
+ minute : int
1929
+ The minute of the hour when the event should run. Must be in the range [0, 59].
1930
+ second : int, optional
1931
+ The second of the minute when the event should run. Must be in the range [0, 59].
1932
+ Default is 0.
1933
+
1934
+ Returns
1935
+ -------
1936
+ bool
1937
+ Returns True if the scheduling was successfully configured. If the input is invalid,
1938
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
1939
+
1940
+ Raises
1941
+ ------
1942
+ CLIOrionisValueError
1943
+ If `minute` or `second` are not integers within the valid ranges.
1944
+
1945
+ Notes
1946
+ -----
1947
+ The event will be triggered every eight hours at the specified minute and second,
1948
+ within the optional scheduling window defined by `start_date` and `end_date`.
1949
+ """
1950
+ pass
1951
+
1952
+ @abstractmethod
1953
+ def everyNineHours(
1954
+ self
1955
+ ) -> bool:
1956
+ """
1957
+ Schedule the event to run every nine hours.
1958
+
1959
+ This method configures the event to execute at a fixed interval of nine hours using the
1960
+ `everyHours` method. The scheduling window can be further restricted by previously set
1961
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
1962
+ it will be applied to the trigger.
1963
+
1964
+ Returns
1965
+ -------
1966
+ bool
1967
+ True if the scheduling was successfully configured. The method always returns True
1968
+ after delegating the scheduling to `everyHours`.
1969
+
1970
+ Notes
1971
+ -----
1972
+ The event will be triggered at 0:00, 9:00, and 18:00 of each day.
1973
+ """
1974
+ pass
1975
+
1976
+ @abstractmethod
1977
+ def everyNineHoursAt(
1978
+ self,
1979
+ minute: int,
1980
+ second: int = 0
1981
+ ) -> bool:
1982
+ """
1983
+ Schedule the event to run every nine hours at a specific minute and second.
1984
+
1985
+ This method configures the event to execute every nine hours at the specified
1986
+ minute and second. The schedule can be further restricted by previously set
1987
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
1988
+ for this schedule.
1989
+
1990
+ Parameters
1991
+ ----------
1992
+ minute : int
1993
+ The minute of the hour when the event should run. Must be in the range [0, 59].
1994
+ second : int, optional
1995
+ The second of the minute when the event should run. Must be in the range [0, 59].
1996
+ Default is 0.
1997
+
1998
+ Returns
1999
+ -------
2000
+ bool
2001
+ Returns True if the scheduling was successfully configured. If the input is invalid,
2002
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2003
+
2004
+ Raises
2005
+ ------
2006
+ CLIOrionisValueError
2007
+ If `minute` or `second` are not integers within the valid ranges.
2008
+
2009
+ Notes
2010
+ -----
2011
+ The event will be triggered every nine hours at the specified minute and second,
2012
+ within the optional scheduling window defined by `start_date` and `end_date`.
2013
+ """
2014
+ pass
2015
+
2016
+ @abstractmethod
2017
+ def everyTenHours(
2018
+ self
2019
+ ) -> bool:
2020
+ """
2021
+ Schedule the event to run every ten hours.
2022
+
2023
+ This method configures the event to execute at a fixed interval of ten hours using the
2024
+ `everyHours` method. The scheduling window can be further restricted by previously set
2025
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2026
+ it will be applied to the trigger.
2027
+
2028
+ Returns
2029
+ -------
2030
+ bool
2031
+ True if the scheduling was successfully configured. The method always returns True
2032
+ after delegating the scheduling to `everyHours`.
2033
+
2034
+ Notes
2035
+ -----
2036
+ The event will be triggered at 0:00, 10:00, and 20:00 of each day.
2037
+ """
2038
+ pass
2039
+
2040
+ @abstractmethod
2041
+ def everyTenHoursAt(
2042
+ self,
2043
+ minute: int,
2044
+ second: int = 0
2045
+ ) -> bool:
2046
+ """
2047
+ Schedule the event to run every ten hours at a specific minute and second.
2048
+
2049
+ This method configures the event to execute every ten hours at the specified
2050
+ minute and second. The schedule can be further restricted by previously set
2051
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
2052
+ for this schedule.
2053
+
2054
+ Parameters
2055
+ ----------
2056
+ minute : int
2057
+ The minute of the hour when the event should run. Must be in the range [0, 59].
2058
+ second : int, optional
2059
+ The second of the minute when the event should run. Must be in the range [0, 59].
2060
+ Default is 0.
2061
+
2062
+ Returns
2063
+ -------
2064
+ bool
2065
+ Returns True if the scheduling was successfully configured. If the input is invalid,
2066
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2067
+
2068
+ Raises
2069
+ ------
2070
+ CLIOrionisValueError
2071
+ If `minute` or `second` are not integers within the valid ranges.
2072
+
2073
+ Notes
2074
+ -----
2075
+ The event will be triggered every ten hours at the specified minute and second,
2076
+ within the optional scheduling window defined by `start_date` and `end_date`.
2077
+ """
2078
+ pass
2079
+
2080
+ @abstractmethod
2081
+ def everyElevenHours(
2082
+ self
2083
+ ) -> bool:
2084
+ """
2085
+ Schedule the event to run every eleven hours.
2086
+
2087
+ This method configures the event to execute at a fixed interval of eleven hours using the
2088
+ `everyHours` method. The scheduling window can be further restricted by previously set
2089
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2090
+ it will be applied to the trigger.
2091
+
2092
+ Returns
2093
+ -------
2094
+ bool
2095
+ True if the scheduling was successfully configured. The method always returns True
2096
+ after delegating the scheduling to `everyHours`.
2097
+
2098
+ Notes
2099
+ -----
2100
+ The event will be triggered at 0:00, 11:00, and 22:00 of each day.
2101
+ """
2102
+ pass
2103
+
2104
+ @abstractmethod
2105
+ def everyElevenHoursAt(
2106
+ self,
2107
+ minute: int,
2108
+ second: int = 0
2109
+ ) -> bool:
2110
+ """
2111
+ Schedule the event to run every eleven hours at a specific minute and second.
2112
+
2113
+ This method configures the event to execute every eleven hours at the specified
2114
+ minute and second. The schedule can be further restricted by previously set
2115
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
2116
+ for this schedule.
2117
+
2118
+ Parameters
2119
+ ----------
2120
+ minute : int
2121
+ The minute of the hour when the event should run. Must be in the range [0, 59].
2122
+ second : int, optional
2123
+ The second of the minute when the event should run. Must be in the range [0, 59].
2124
+ Default is 0.
2125
+
2126
+ Returns
2127
+ -------
2128
+ bool
2129
+ Returns True if the scheduling was successfully configured. If the input is invalid,
2130
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2131
+
2132
+ Raises
2133
+ ------
2134
+ CLIOrionisValueError
2135
+ If `minute` or `second` are not integers within the valid ranges.
2136
+
2137
+ Notes
2138
+ -----
2139
+ The event will be triggered every eleven hours at the specified minute and second,
2140
+ within the optional scheduling window defined by `start_date` and `end_date`.
2141
+ """
2142
+ pass
2143
+
2144
+ @abstractmethod
2145
+ def everyTwelveHours(
2146
+ self
2147
+ ) -> bool:
2148
+ """
2149
+ Schedule the event to run every twelve hours.
2150
+
2151
+ This method configures the event to execute at a fixed interval of twelve hours using the
2152
+ `everyHours` method. The scheduling window can be further restricted by previously set
2153
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2154
+ it will be applied to the trigger.
2155
+
2156
+ Returns
2157
+ -------
2158
+ bool
2159
+ True if the scheduling was successfully configured. The method always returns True
2160
+ after delegating the scheduling to `everyHours`.
2161
+
2162
+ Notes
2163
+ -----
2164
+ The event will be triggered at 0:00, 12:00 of each day.
2165
+ """
2166
+ pass
2167
+
2168
+ @abstractmethod
2169
+ def everyTwelveHoursAt(
2170
+ self,
2171
+ minute: int,
2172
+ second: int = 0
2173
+ ) -> bool:
2174
+ """
2175
+ Schedule the event to run every twelve hours at a specific minute and second.
2176
+
2177
+ This method configures the event to execute every twelve hours at the specified
2178
+ minute and second. The schedule can be further restricted by previously set
2179
+ `start_date` and `end_date` attributes. Jitter (random delay) is not applied
2180
+ for this schedule.
2181
+
2182
+ Parameters
2183
+ ----------
2184
+ minute : int
2185
+ The minute of the hour when the event should run. Must be in the range [0, 59].
2186
+ second : int, optional
2187
+ The second of the minute when the event should run. Must be in the range [0, 59].
2188
+ Default is 0.
2189
+
2190
+ Returns
2191
+ -------
2192
+ bool
2193
+ Returns True if the scheduling was successfully configured. If the input is invalid,
2194
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2195
+
2196
+ Raises
2197
+ ------
2198
+ CLIOrionisValueError
2199
+ If `minute` or `second` are not integers within the valid ranges.
2200
+
2201
+ Notes
2202
+ -----
2203
+ The event will be triggered every twelve hours at the specified minute and second,
2204
+ within the optional scheduling window defined by `start_date` and `end_date`.
2205
+ """
2206
+ pass
2207
+
2208
+ @abstractmethod
2209
+ def daily(
2210
+ self
2211
+ ) -> bool:
2212
+ """
2213
+ Schedule the event to run once per day.
2214
+
2215
+ This method configures the event to execute at a fixed interval of one day using an
2216
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
2217
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2218
+ it will be applied to the trigger to help distribute load or avoid collisions.
2219
+
2220
+ Parameters
2221
+ ----------
2222
+ None
2223
+
2224
+ Returns
2225
+ -------
2226
+ bool
2227
+ Returns True after successfully configuring the interval trigger for daily execution.
2228
+ The method always returns True after setting up the interval trigger.
2229
+
2230
+ Notes
2231
+ -----
2232
+ The event will be triggered once every day, within the optional scheduling window defined
2233
+ by `start_date` and `end_date`. If a random delay (jitter) is set, it will be applied to
2234
+ the trigger.
2235
+ """
2236
+ pass
2237
+
2238
+ @abstractmethod
2239
+ def dailyAt(
2240
+ self,
2241
+ hour: int,
2242
+ minute: int = 0,
2243
+ second: int = 0
2244
+ ) -> bool:
2245
+ """
2246
+ Schedule the event to run daily at a specific hour, minute, and second.
2247
+
2248
+ This method configures the event to execute once every day at the specified
2249
+ hour, minute, and second. The schedule can be further restricted by previously
2250
+ set `start_date` and `end_date` attributes. If a random delay (jitter) has been
2251
+ configured, it will be applied to the trigger to help distribute load or avoid
2252
+ collisions.
2253
+
2254
+ Parameters
2255
+ ----------
2256
+ hour : int
2257
+ The hour of the day when the event should run. Must be in the range [0, 23].
2258
+ minute : int, optional
2259
+ The minute of the hour when the event should run. Must be in the range [0, 59]. Default is 0.
2260
+ second : int, optional
2261
+ The second of the minute when the event should run. Must be in the range [0, 59]. Default is 0.
2262
+
2263
+ Returns
2264
+ -------
2265
+ bool
2266
+ Returns True if the scheduling was successfully configured. If the input
2267
+ is invalid, a `CLIOrionisValueError` is raised and the trigger is not set.
2268
+
2269
+ Raises
2270
+ ------
2271
+ CLIOrionisValueError
2272
+ If `hour`, `minute`, or `second` are not integers within the valid ranges.
2273
+
2274
+ Notes
2275
+ -----
2276
+ The event will be triggered once per day at the specified time, within the optional
2277
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2278
+ is set, it will be applied to the trigger.
2279
+ """
2280
+ pass
2281
+
2282
+ @abstractmethod
2283
+ def everyDays(
2284
+ self,
2285
+ days: int
2286
+ ) -> bool:
2287
+ """
2288
+ Schedule the event to run at fixed intervals measured in days.
2289
+
2290
+ This method configures the event to execute repeatedly at a specified interval
2291
+ (in days). The interval must be a positive integer. Optionally, the event can be
2292
+ restricted to a time window using previously set `start_date` and `end_date`.
2293
+ If a random delay (jitter) has been configured, it will be applied to the trigger.
2294
+
2295
+ Parameters
2296
+ ----------
2297
+ days : int
2298
+ The interval, in days, at which the event should be executed. Must be a positive integer.
2299
+
2300
+ Returns
2301
+ -------
2302
+ bool
2303
+ Returns True if the interval scheduling was successfully configured. If the input
2304
+ is invalid, a `CLIOrionisValueError` is raised and the trigger is not set.
2305
+
2306
+ Raises
2307
+ ------
2308
+ CLIOrionisValueError
2309
+ If `days` is not a positive integer.
2310
+
2311
+ Notes
2312
+ -----
2313
+ The event will be triggered every `days` days, starting from the configured
2314
+ `start_date` (if set) and ending at `end_date` (if set). If a random delay (jitter)
2315
+ is set, it will be applied to the trigger.
2316
+ """
2317
+ pass
2318
+
2319
+ @abstractmethod
2320
+ def everyDaysAt(
2321
+ self,
2322
+ days: int,
2323
+ hour: int,
2324
+ minute: int = 0,
2325
+ second: int = 0
2326
+ ) -> bool:
2327
+ """
2328
+ Schedule the event to run every day at a specific hour, minute, and second.
2329
+
2330
+ This method configures the event to execute once per day at the specified
2331
+ hour, minute, and second. The schedule can be further restricted by previously
2332
+ set `start_date` and `end_date` attributes. If a random delay (jitter) has been
2333
+ configured, it will be applied to the trigger to help distribute load or avoid
2334
+ collisions.
2335
+
2336
+ Parameters
2337
+ ----------
2338
+ hour : int
2339
+ The hour of the day when the event should run. Must be in the range [0, 23].
2340
+ minute : int, optional
2341
+ The minute of the hour when the event should run. Must be in the range [0, 59]. Default is 0.
2342
+ second : int, optional
2343
+ The second of the minute when the event should run. Must be in the range [0, 59]. Default is 0.
2344
+
2345
+ Returns
2346
+ -------
2347
+ bool
2348
+ Returns True if the scheduling was successfully configured. If the input
2349
+ is invalid, a `CLIOrionisValueError` is raised and the trigger is not set.
2350
+ On success, returns True.
2351
+
2352
+ Raises
2353
+ ------
2354
+ CLIOrionisValueError
2355
+ If `hour`, `minute`, or `second` are not integers within the valid ranges.
2356
+
2357
+ Notes
2358
+ -----
2359
+ The event will be triggered once per day at the specified time, within the optional
2360
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2361
+ is set, it will be applied to the trigger.
2362
+ """
2363
+ pass
2364
+
2365
+ @abstractmethod
2366
+ def everyTwoDays(
2367
+ self
2368
+ ) -> bool:
2369
+ """
2370
+ Schedule the event to run every two days.
2371
+
2372
+ This method configures the event to execute at a fixed interval of two days using an
2373
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
2374
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2375
+ it will be applied to the trigger.
2376
+
2377
+ Returns
2378
+ -------
2379
+ bool
2380
+ True if the scheduling was successfully configured. The method always returns True
2381
+ after delegating the scheduling to `everyDays`.
2382
+ """
2383
+ pass
2384
+
2385
+ @abstractmethod
2386
+ def everyTwoDaysAt(
2387
+ self,
2388
+ hour: int,
2389
+ minute: int = 0,
2390
+ second: int = 0
2391
+ ) -> bool:
2392
+ """
2393
+ Schedule the event to run every two days at a specific hour, minute, and second.
2394
+
2395
+ This method configures the event to execute every two days at the specified
2396
+ hour, minute, and second. The schedule can be further restricted by previously
2397
+ set `start_date` and `end_date` attributes. If a random delay (jitter) has been
2398
+ configured, it will be applied to the trigger.
2399
+
2400
+ Parameters
2401
+ ----------
2402
+ hour : int
2403
+ The hour of the day when the event should run. Must be in the range [0, 23].
2404
+ minute : int, optional
2405
+ The minute of the hour when the event should run. Must be in the range [0, 59].
2406
+ Default is 0.
2407
+ second : int, optional
2408
+ The second of the minute when the event should run. Must be in the range [0, 59].
2409
+ Default is 0.
2410
+
2411
+ Returns
2412
+ -------
2413
+ bool
2414
+ True if the scheduling was successfully configured. If the input is invalid,
2415
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2416
+
2417
+ Notes
2418
+ -----
2419
+ The event will be triggered every two days at the specified time, within the optional
2420
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2421
+ is set, it will be applied to the trigger.
2422
+ """
2423
+ pass
2424
+
2425
+ @abstractmethod
2426
+ def everyThreeDays(
2427
+ self
2428
+ ) -> bool:
2429
+ """
2430
+ Schedule the event to run every three days.
2431
+
2432
+ This method configures the event to execute at a fixed interval of three days using the
2433
+ `everyDays` method. The scheduling window can be further restricted by previously set
2434
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2435
+ it will be applied to the trigger.
2436
+
2437
+ Parameters
2438
+ ----------
2439
+ None
2440
+
2441
+ Returns
2442
+ -------
2443
+ bool
2444
+ Returns True if the scheduling was successfully configured. The method always
2445
+ returns True after delegating the scheduling to `everyDays`.
2446
+
2447
+ Notes
2448
+ -----
2449
+ The event will be triggered every three days, starting from the configured `start_date`
2450
+ (if set) and ending at `end_date` (if set). If a random delay (jitter) is set, it will
2451
+ be applied to the trigger.
2452
+ """
2453
+ pass
2454
+
2455
+ @abstractmethod
2456
+ def everyThreeDaysAt(
2457
+ self,
2458
+ hour: int,
2459
+ minute: int = 0,
2460
+ second: int = 0
2461
+ ) -> bool:
2462
+ """
2463
+ Schedule the event to run every three days at a specific hour, minute, and second.
2464
+
2465
+ This method configures the event to execute every three days at the specified
2466
+ hour, minute, and second. The schedule can be further restricted by previously
2467
+ set `start_date` and `end_date` attributes. If a random delay (jitter) has been
2468
+ configured, it will be applied to the trigger.
2469
+
2470
+ Parameters
2471
+ ----------
2472
+ hour : int
2473
+ The hour of the day when the event should run. Must be in the range [0, 23].
2474
+ minute : int, optional
2475
+ The minute of the hour when the event should run. Must be in the range [0, 59].
2476
+ Default is 0.
2477
+ second : int, optional
2478
+ The second of the minute when the event should run. Must be in the range [0, 59].
2479
+ Default is 0.
2480
+
2481
+ Returns
2482
+ -------
2483
+ bool
2484
+ Returns True if the scheduling was successfully configured. If the input is invalid,
2485
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2486
+
2487
+ Notes
2488
+ -----
2489
+ The event will be triggered every three days at the specified time, within the optional
2490
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2491
+ is set, it will be applied to the trigger.
2492
+ """
2493
+ pass
2494
+
2495
+ @abstractmethod
2496
+ def everyFourDays(
2497
+ self
2498
+ ) -> bool:
2499
+ """
2500
+ Schedule the event to run every four days.
2501
+
2502
+ This method configures the event to execute at a fixed interval of four days using the
2503
+ `everyDays` method. The scheduling window can be further restricted by previously set
2504
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2505
+ it will be applied to the trigger.
2506
+
2507
+ Returns
2508
+ -------
2509
+ bool
2510
+ True if the scheduling was successfully configured. The method always returns True
2511
+ after delegating the scheduling to `everyDays`.
2512
+
2513
+ Notes
2514
+ -----
2515
+ The event will be triggered every four days, starting from the configured `start_date`
2516
+ (if set) and ending at `end_date` (if set). If a random delay (jitter) is set, it will
2517
+ be applied to the trigger.
2518
+ """
2519
+ pass
2520
+
2521
+ @abstractmethod
2522
+ def everyFourDaysAt(
2523
+ self,
2524
+ hour: int,
2525
+ minute: int = 0,
2526
+ second: int = 0
2527
+ ) -> bool:
2528
+ """
2529
+ Schedule the event to run every four days at a specific hour, minute, and second.
2530
+
2531
+ This method configures the event to execute every four days at the specified
2532
+ hour, minute, and second. The schedule can be further restricted by previously
2533
+ set `start_date` and `end_date` attributes. If a random delay (jitter) has been
2534
+ configured, it will be applied to the trigger.
2535
+
2536
+ Parameters
2537
+ ----------
2538
+ hour : int
2539
+ The hour of the day when the event should run. Must be in the range [0, 23].
2540
+ minute : int, optional
2541
+ The minute of the hour when the event should run. Must be in the range [0, 59].
2542
+ Default is 0.
2543
+ second : int, optional
2544
+ The second of the minute when the event should run. Must be in the range [0, 59].
2545
+ Default is 0.
2546
+
2547
+ Returns
2548
+ -------
2549
+ bool
2550
+ Returns True if the scheduling was successfully configured. If the input is invalid,
2551
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2552
+
2553
+ Notes
2554
+ -----
2555
+ The event will be triggered every four days at the specified time, within the optional
2556
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2557
+ is set, it will be applied to the trigger.
2558
+ """
2559
+ pass
2560
+
2561
+ @abstractmethod
2562
+ def everyFiveDays(
2563
+ self
2564
+ ) -> bool:
2565
+ """
2566
+ Schedule the event to run every five days.
2567
+
2568
+ This method configures the event to execute at a fixed interval of five days using the
2569
+ `everyDays` method. The scheduling window can be further restricted by previously set
2570
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2571
+ it will be applied to the trigger.
2572
+
2573
+ Returns
2574
+ -------
2575
+ bool
2576
+ True if the scheduling was successfully configured. The method always returns True
2577
+ after delegating the scheduling to `everyDays`.
2578
+
2579
+ Notes
2580
+ -----
2581
+ The event will be triggered every five days, starting from the configured `start_date`
2582
+ (if set) and ending at `end_date` (if set). If a random delay (jitter) is set, it will
2583
+ be applied to the trigger.
2584
+ """
2585
+ pass
2586
+
2587
+ @abstractmethod
2588
+ def everyFiveDaysAt(
2589
+ self,
2590
+ hour: int,
2591
+ minute: int = 0,
2592
+ second: int = 0
2593
+ ) -> bool:
2594
+ """
2595
+ Schedule the event to run every five days at a specific hour, minute, and second.
2596
+
2597
+ This method configures the event to execute every five days at the specified
2598
+ hour, minute, and second. The schedule can be further restricted by previously
2599
+ set `start_date` and `end_date` attributes. If a random delay (jitter) has been
2600
+ configured, it will be applied to the trigger.
2601
+
2602
+ Parameters
2603
+ ----------
2604
+ hour : int
2605
+ The hour of the day when the event should run. Must be in the range [0, 23].
2606
+ minute : int, optional
2607
+ The minute of the hour when the event should run. Must be in the range [0, 59].
2608
+ Default is 0.
2609
+ second : int, optional
2610
+ The second of the minute when the event should run. Must be in the range [0, 59].
2611
+ Default is 0.
2612
+
2613
+ Returns
2614
+ -------
2615
+ bool
2616
+ Returns True if the scheduling was successfully configured. If the input is invalid,
2617
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2618
+
2619
+ Notes
2620
+ -----
2621
+ The event will be triggered every five days at the specified time, within the optional
2622
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2623
+ is set, it will be applied to the trigger.
2624
+ """
2625
+ pass
2626
+
2627
+ @abstractmethod
2628
+ def everySixDays(
2629
+ self
2630
+ ) -> bool:
2631
+ """
2632
+ Schedule the event to run every six days.
2633
+
2634
+ This method configures the event to execute at a fixed interval of six days using the
2635
+ `everyDays` method. The scheduling window can be further restricted by previously set
2636
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2637
+ it will be applied to the trigger.
2638
+
2639
+ Returns
2640
+ -------
2641
+ bool
2642
+ True if the scheduling was successfully configured. The method always returns True
2643
+ after delegating the scheduling to `everyDays`.
2644
+
2645
+ Notes
2646
+ -----
2647
+ The event will be triggered every six days, starting from the configured `start_date`
2648
+ (if set) and ending at `end_date` (if set). If a random delay (jitter) is set, it will
2649
+ be applied to the trigger.
2650
+ """
2651
+ pass
2652
+
2653
+ @abstractmethod
2654
+ def everySixDaysAt(
2655
+ self,
2656
+ hour: int,
2657
+ minute: int = 0,
2658
+ second: int = 0
2659
+ ) -> bool:
2660
+ """
2661
+ Schedule the event to run every six days at a specific hour, minute, and second.
2662
+
2663
+ This method configures the event to execute every six days at the specified
2664
+ hour, minute, and second. The schedule can be further restricted by previously
2665
+ set `start_date` and `end_date` attributes. If a random delay (jitter) has been
2666
+ configured, it will be applied to the trigger.
2667
+
2668
+ Parameters
2669
+ ----------
2670
+ hour : int
2671
+ The hour of the day when the event should run. Must be in the range [0, 23].
2672
+ minute : int, optional
2673
+ The minute of the hour when the event should run. Must be in the range [0, 59].
2674
+ Default is 0.
2675
+ second : int, optional
2676
+ The second of the minute when the event should run. Must be in the range [0, 59].
2677
+ Default is 0.
2678
+
2679
+ Returns
2680
+ -------
2681
+ bool
2682
+ Returns True if the scheduling was successfully configured. If the input is invalid,
2683
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2684
+
2685
+ Notes
2686
+ -----
2687
+ The event will be triggered every six days at the specified time, within the optional
2688
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2689
+ is set, it will be applied to the trigger.
2690
+ """
2691
+ pass
2692
+
2693
+ @abstractmethod
2694
+ def everySevenDays(
2695
+ self
2696
+ ) -> bool:
2697
+ """
2698
+ Schedule the event to run every seven days.
2699
+
2700
+ This method configures the event to execute at a fixed interval of seven days using the
2701
+ `everyDays` method. The scheduling window can be further restricted by previously set
2702
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2703
+ it will be applied to the trigger.
2704
+
2705
+ Returns
2706
+ -------
2707
+ bool
2708
+ True if the scheduling was successfully configured. The method always returns True
2709
+ after delegating the scheduling to `everyDays`.
2710
+
2711
+ Notes
2712
+ -----
2713
+ The event will be triggered every seven days, starting from the configured `start_date`
2714
+ (if set) and ending at `end_date` (if set). If a random delay (jitter) is set, it will
2715
+ be applied to the trigger.
2716
+ """
2717
+ pass
2718
+
2719
+ @abstractmethod
2720
+ def everySevenDaysAt(
2721
+ self,
2722
+ hour: int,
2723
+ minute: int = 0,
2724
+ second: int = 0
2725
+ ) -> bool:
2726
+ """
2727
+ Schedule the event to run every seven days at a specific hour, minute, and second.
2728
+
2729
+ This method configures the event to execute every seven days at the specified
2730
+ hour, minute, and second. The schedule can be further restricted by previously
2731
+ set `start_date` and `end_date` attributes. If a random delay (jitter) has been
2732
+ configured, it will be applied to the trigger.
2733
+
2734
+ Parameters
2735
+ ----------
2736
+ hour : int
2737
+ The hour of the day when the event should run. Must be in the range [0, 23].
2738
+ minute : int, optional
2739
+ The minute of the hour when the event should run. Must be in the range [0, 59].
2740
+ Default is 0.
2741
+ second : int, optional
2742
+ The second of the minute when the event should run. Must be in the range [0, 59].
2743
+ Default is 0.
2744
+
2745
+ Returns
2746
+ -------
2747
+ bool
2748
+ Returns True if the scheduling was successfully configured. If the input is invalid,
2749
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2750
+
2751
+ Notes
2752
+ -----
2753
+ The event will be triggered every seven days at the specified time, within the optional
2754
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2755
+ is set, it will be applied to the trigger.
2756
+ """
2757
+ pass
2758
+
2759
+ @abstractmethod
2760
+ def everyMondayAt(
2761
+ self,
2762
+ hour: int = 0,
2763
+ minute: int = 0,
2764
+ second: int = 0
2765
+ ) -> bool:
2766
+ """
2767
+ Schedule the event to run every Monday at a specific hour, minute, and second.
2768
+
2769
+ This method configures the event to execute once every week on Mondays at the specified
2770
+ hour, minute, and second. The schedule can be further restricted by previously set
2771
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2772
+ it will be applied to the trigger.
2773
+
2774
+ Parameters
2775
+ ----------
2776
+ hour : int, optional
2777
+ The hour of the day when the event should run. Must be in the range [0, 23]. Default is 0.
2778
+ minute : int, optional
2779
+ The minute of the hour when the event should run. Must be in the range [0, 59]. Default is 0.
2780
+ second : int, optional
2781
+ The second of the minute when the event should run. Must be in the range [0, 59]. Default is 0.
2782
+
2783
+ Returns
2784
+ -------
2785
+ bool
2786
+ True if the scheduling was successfully configured. If the input parameters are invalid,
2787
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2788
+
2789
+ Raises
2790
+ ------
2791
+ CLIOrionisValueError
2792
+ If `hour`, `minute`, or `second` are not integers within their respective valid ranges.
2793
+
2794
+ Notes
2795
+ -----
2796
+ The event will be triggered every Monday at the specified time, within the optional
2797
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2798
+ is set, it will be applied to the trigger.
2799
+ """
2800
+ pass
2801
+
2802
+ @abstractmethod
2803
+ def everyTuesdayAt(
2804
+ self,
2805
+ hour: int = 0,
2806
+ minute: int = 0,
2807
+ second: int = 0
2808
+ ) -> bool:
2809
+ """
2810
+ Schedule the event to run every Tuesday at a specific hour, minute, and second.
2811
+
2812
+ This method configures the event to execute once every week on Tuesdays at the specified
2813
+ hour, minute, and second. The schedule can be further restricted by previously set
2814
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2815
+ it will be applied to the trigger.
2816
+
2817
+ Parameters
2818
+ ----------
2819
+ hour : int, optional
2820
+ The hour of the day when the event should run. Must be in the range [0, 23]. Default is 0.
2821
+ minute : int, optional
2822
+ The minute of the hour when the event should run. Must be in the range [0, 59]. Default is 0.
2823
+ second : int, optional
2824
+ The second of the minute when the event should run. Must be in the range [0, 59]. Default is 0.
2825
+
2826
+ Returns
2827
+ -------
2828
+ bool
2829
+ True if the scheduling was successfully configured. If the input parameters are invalid,
2830
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2831
+
2832
+ Raises
2833
+ ------
2834
+ CLIOrionisValueError
2835
+ If `hour`, `minute`, or `second` are not integers within their respective valid ranges.
2836
+
2837
+ Notes
2838
+ -----
2839
+ The event will be triggered every Tuesday at the specified time, within the optional
2840
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2841
+ is set, it will be applied to the trigger.
2842
+ """
2843
+ pass
2844
+
2845
+ @abstractmethod
2846
+ def everyWednesdayAt(
2847
+ self,
2848
+ hour: int = 0,
2849
+ minute: int = 0,
2850
+ second: int = 0
2851
+ ) -> bool:
2852
+ """
2853
+ Schedule the event to run every Wednesday at a specific hour, minute, and second.
2854
+
2855
+ This method configures the event to execute once every week on Wednesdays at the specified
2856
+ hour, minute, and second. The schedule can be further restricted by previously set
2857
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2858
+ it will be applied to the trigger.
2859
+
2860
+ Parameters
2861
+ ----------
2862
+ hour : int, optional
2863
+ The hour of the day when the event should run. Must be in the range [0, 23]. Default is 0.
2864
+ minute : int, optional
2865
+ The minute of the hour when the event should run. Must be in the range [0, 59]. Default is 0.
2866
+ second : int, optional
2867
+ The second of the minute when the event should run. Must be in the range [0, 59]. Default is 0.
2868
+
2869
+ Returns
2870
+ -------
2871
+ bool
2872
+ True if the scheduling was successfully configured. If the input parameters are invalid,
2873
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2874
+
2875
+ Raises
2876
+ ------
2877
+ CLIOrionisValueError
2878
+ If `hour`, `minute`, or `second` are not integers within their respective valid ranges.
2879
+
2880
+ Notes
2881
+ -----
2882
+ The event will be triggered every Wednesday at the specified time, within the optional
2883
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2884
+ is set, it will be applied to the trigger.
2885
+ """
2886
+ pass
2887
+
2888
+ @abstractmethod
2889
+ def everyThursdayAt(
2890
+ self,
2891
+ hour: int = 0,
2892
+ minute: int = 0,
2893
+ second: int = 0
2894
+ ) -> bool:
2895
+ """
2896
+ Schedule the event to run every Thursday at a specific hour, minute, and second.
2897
+
2898
+ This method configures the event to execute once every week on Thursdays at the specified
2899
+ hour, minute, and second. The schedule can be further restricted by previously set
2900
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2901
+ it will be applied to the trigger.
2902
+
2903
+ Parameters
2904
+ ----------
2905
+ hour : int, optional
2906
+ The hour of the day when the event should run. Must be in the range [0, 23]. Default is 0.
2907
+ minute : int, optional
2908
+ The minute of the hour when the event should run. Must be in the range [0, 59]. Default is 0.
2909
+ second : int, optional
2910
+ The second of the minute when the event should run. Must be in the range [0, 59]. Default is 0.
2911
+
2912
+ Returns
2913
+ -------
2914
+ bool
2915
+ True if the scheduling was successfully configured. If the input parameters are invalid,
2916
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2917
+
2918
+ Raises
2919
+ ------
2920
+ CLIOrionisValueError
2921
+ If `hour`, `minute`, or `second` are not integers within their respective valid ranges.
2922
+
2923
+ Notes
2924
+ -----
2925
+ The event will be triggered every Thursday at the specified time, within the optional
2926
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2927
+ is set, it will be applied to the trigger.
2928
+ """
2929
+ pass
2930
+
2931
+ @abstractmethod
2932
+ def everyFridayAt(
2933
+ self,
2934
+ hour: int = 0,
2935
+ minute: int = 0,
2936
+ second: int = 0
2937
+ ) -> bool:
2938
+ """
2939
+ Schedule the event to run every Friday at a specific hour, minute, and second.
2940
+
2941
+ This method configures the event to execute once every week on Fridays at the specified
2942
+ hour, minute, and second. The schedule can be further restricted by previously set
2943
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2944
+ it will be applied to the trigger.
2945
+
2946
+ Parameters
2947
+ ----------
2948
+ hour : int, optional
2949
+ The hour of the day when the event should run. Must be in the range [0, 23]. Default is 0.
2950
+ minute : int, optional
2951
+ The minute of the hour when the event should run. Must be in the range [0, 59]. Default is 0.
2952
+ second : int, optional
2953
+ The second of the minute when the event should run. Must be in the range [0, 59]. Default is 0.
2954
+
2955
+ Returns
2956
+ -------
2957
+ bool
2958
+ True if the scheduling was successfully configured. If the input parameters are invalid,
2959
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
2960
+
2961
+ Raises
2962
+ ------
2963
+ CLIOrionisValueError
2964
+ If `hour`, `minute`, or `second` are not integers within their respective valid ranges.
2965
+
2966
+ Notes
2967
+ -----
2968
+ The event will be triggered every Friday at the specified time, within the optional
2969
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
2970
+ is set, it will be applied to the trigger.
2971
+ """
2972
+ pass
2973
+
2974
+ @abstractmethod
2975
+ def everySaturdayAt(
2976
+ self,
2977
+ hour: int = 0,
2978
+ minute: int = 0,
2979
+ second: int = 0
2980
+ ) -> bool:
2981
+ """
2982
+ Schedule the event to run every Saturday at a specific hour, minute, and second.
2983
+
2984
+ This method configures the event to execute once every week on Saturdays at the specified
2985
+ hour, minute, and second. The schedule can be further restricted by previously set
2986
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
2987
+ it will be applied to the trigger.
2988
+
2989
+ Parameters
2990
+ ----------
2991
+ hour : int, optional
2992
+ The hour of the day when the event should run. Must be in the range [0, 23]. Default is 0.
2993
+ minute : int, optional
2994
+ The minute of the hour when the event should run. Must be in the range [0, 59]. Default is 0.
2995
+ second : int, optional
2996
+ The second of the minute when the event should run. Must be in the range [0, 59]. Default is 0.
2997
+
2998
+ Returns
2999
+ -------
3000
+ bool
3001
+ True if the scheduling was successfully configured. If the input parameters are invalid,
3002
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
3003
+
3004
+ Raises
3005
+ ------
3006
+ CLIOrionisValueError
3007
+ If `hour`, `minute`, or `second` are not integers within their respective valid ranges.
3008
+
3009
+ Notes
3010
+ -----
3011
+ The event will be triggered every Saturday at the specified time, within the optional
3012
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
3013
+ is set, it will be applied to the trigger.
3014
+ """
3015
+ pass
3016
+
3017
+ @abstractmethod
3018
+ def everySundayAt(
3019
+ self,
3020
+ hour: int = 0,
3021
+ minute: int = 0,
3022
+ second: int = 0
3023
+ ) -> bool:
3024
+ """
3025
+ Schedule the event to run every Sunday at a specific hour, minute, and second.
3026
+
3027
+ This method configures the event to execute once every week on Sundays at the specified
3028
+ hour, minute, and second. The schedule can be further restricted by previously set
3029
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
3030
+ it will be applied to the trigger.
3031
+
3032
+ Parameters
3033
+ ----------
3034
+ hour : int, optional
3035
+ The hour of the day when the event should run. Must be in the range [0, 23]. Default is 0.
3036
+ minute : int, optional
3037
+ The minute of the hour when the event should run. Must be in the range [0, 59]. Default is 0.
3038
+ second : int, optional
3039
+ The second of the minute when the event should run. Must be in the range [0, 59]. Default is 0.
3040
+
3041
+ Returns
3042
+ -------
3043
+ bool
3044
+ True if the scheduling was successfully configured. If the input parameters are invalid,
3045
+ a `CLIOrionisValueError` is raised, and the trigger is not set.
3046
+
3047
+ Raises
3048
+ ------
3049
+ CLIOrionisValueError
3050
+ If `hour`, `minute`, or `second` are not integers within their respective valid ranges.
3051
+
3052
+ Notes
3053
+ -----
3054
+ The event will be triggered every Sunday at the specified time, within the optional
3055
+ scheduling window defined by `start_date` and `end_date`. If a random delay (jitter)
3056
+ is set, it will be applied to the trigger.
3057
+ """
3058
+ pass
3059
+
3060
+ @abstractmethod
3061
+ def weekly(
3062
+ self
3063
+ ) -> bool:
3064
+ """
3065
+ Schedule the event to run every week.
3066
+
3067
+ This method configures the event to execute at a fixed interval of one week using an
3068
+ `IntervalTrigger`. The scheduling window can be further restricted by previously set
3069
+ `start_date` and `end_date` attributes. If a random delay (jitter) has been configured,
3070
+ it will be applied to the trigger to help distribute load or avoid collisions.
3071
+
3072
+ Returns
3073
+ -------
3074
+ bool
3075
+ Returns True after successfully configuring the interval trigger for weekly execution.
3076
+
3077
+ Notes
3078
+ -----
3079
+ The event will be triggered once every week, starting from the configured `start_date`
3080
+ (if set) and ending at `end_date` (if set). If a random delay (jitter) is set, it will
3081
+ be applied to the trigger.
3082
+ """
3083
+ pass
3084
+
3085
+ @abstractmethod
3086
+ def everyWeeks(
3087
+ self,
3088
+ weeks: int
3089
+ ) -> bool:
3090
+ """
3091
+ Schedule the event to run at fixed intervals measured in weeks.
3092
+
3093
+ This method configures the event to execute repeatedly at a specified interval
3094
+ (in weeks). The interval must be a positive integer. Optionally, the event can
3095
+ be restricted to a time window using previously set `start_date` and `end_date`.
3096
+ If a random delay (jitter) has been configured, it will be applied to the trigger.
3097
+
3098
+ Parameters
3099
+ ----------
3100
+ weeks : int
3101
+ The interval, in weeks, at which the event should be executed. Must be a positive integer.
3102
+
3103
+ Returns
3104
+ -------
3105
+ bool
3106
+ True if the interval scheduling was successfully configured. If the input
3107
+ is invalid, a `CLIOrionisValueError` is raised, and the trigger is not set.
3108
+
3109
+ Raises
3110
+ ------
3111
+ CLIOrionisValueError
3112
+ If `weeks` is not a positive integer.
3113
+
3114
+ Notes
3115
+ -----
3116
+ The event will be triggered every `weeks` weeks, starting from the configured
3117
+ `start_date` (if set) and ending at `end_date` (if set). If a random delay (jitter)
3118
+ is set, it will be applied to the trigger.
3119
+ """
3120
+ pass
3121
+
3122
+ @abstractmethod
3123
+ def every(
3124
+ self,
3125
+ weeks: int = 0,
3126
+ days: int = 0,
3127
+ hours: int = 0,
3128
+ minutes: int = 0,
3129
+ seconds: int = 0
3130
+ ) -> bool:
3131
+ """
3132
+ Schedule the event to run at fixed intervals specified in weeks, days, hours, minutes, and seconds.
3133
+
3134
+ This method configures the event to execute repeatedly at a specified interval
3135
+ composed of weeks, days, hours, minutes, and seconds. At least one of these parameters
3136
+ must be a positive integer. Optionally, the event can be restricted to a time window
3137
+ using previously set `start_date` and `end_date`. If a random delay (jitter) has been
3138
+ configured, it will be applied to the trigger.
3139
+
3140
+ Parameters
3141
+ ----------
3142
+ weeks : int, optional
3143
+ The interval in weeks. Must be a non-negative integer. Default is 0.
3144
+ days : int, optional
3145
+ The interval in days. Must be a non-negative integer. Default is 0.
3146
+ hours : int, optional
3147
+ The interval in hours. Must be a non-negative integer. Default is 0.
3148
+ minutes : int, optional
3149
+ The interval in minutes. Must be a non-negative integer. Default is 0.
3150
+ seconds : int, optional
3151
+ The interval in seconds. Must be a non-negative integer. Default is 0.
3152
+
3153
+ Returns
3154
+ -------
3155
+ bool
3156
+ True if the interval scheduling was successfully configured. If the input
3157
+ is invalid, a `CLIOrionisValueError` is raised, and the trigger is not set.
3158
+
3159
+ Raises
3160
+ ------
3161
+ CLIOrionisValueError
3162
+ If all parameters are zero or if any parameter is not a non-negative integer.
3163
+
3164
+ Notes
3165
+ -----
3166
+ The event will be triggered at the specified interval, starting from the configured
3167
+ `start_date` (if set) and ending at `end_date` (if set). If a random delay (jitter)
3168
+ is set, it will be applied to the trigger.
3169
+ """
3170
+ pass
3171
+
3172
+ @abstractmethod
3173
+ def cron(
3174
+ self,
3175
+ year: str | None = None,
3176
+ month: str | None = None,
3177
+ day: str | None = None,
3178
+ week: str | None = None,
3179
+ day_of_week: str | None = None,
3180
+ hour: str | None = None,
3181
+ minute: str | None = None,
3182
+ second: str | None = None,
3183
+ ) -> bool:
3184
+ """
3185
+ Schedule the event using a CRON-like expression.
3186
+
3187
+ This method configures the event to execute according to cron rules,
3188
+ allowing highly customizable schedules (e.g., every Monday at 8am).
3189
+
3190
+ Parameters
3191
+ ----------
3192
+ year, month, day, week, day_of_week, hour, minute, second : str | None
3193
+ Cron-like expressions defining when the job should run.
3194
+ Examples: "*/5" (every 5 units), "1-5" (range), "0,15,30,45" (list).
3195
+
3196
+ Returns
3197
+ -------
3198
+ bool
3199
+ True if the cron scheduling was successfully configured.
177
3200
  """
178
3201
  pass