Class: SolidQueue::Scheduler
- Inherits:
-
Processes::Base
- Object
- Processes::Base
- SolidQueue::Scheduler
- Includes:
- LifecycleHooks, Processes::Runnable
- Defined in:
- lib/solid_queue/scheduler.rb
Defined Under Namespace
Classes: RecurringSchedule
Instance Attribute Summary collapse
-
#polling_interval ⇒ Object
readonly
Returns the value of attribute polling_interval.
-
#recurring_schedule ⇒ Object
readonly
Returns the value of attribute recurring_schedule.
Attributes inherited from Processes::Base
Instance Method Summary collapse
-
#initialize(recurring_tasks:, **options) ⇒ Scheduler
constructor
A new instance of Scheduler.
- #metadata ⇒ Object
Methods included from Processes::Runnable
#alive?, #mode=, #start, #stop
Methods included from Processes::Supervised
Methods inherited from Processes::Base
Methods included from AppExecutor
#create_thread, #handle_thread_error, #wrap_in_app_executor
Methods included from Processes::Registrable
Methods included from Processes::Procline
Methods included from Processes::Interruptible
Constructor Details
#initialize(recurring_tasks:, **options) ⇒ Scheduler
Returns a new instance of Scheduler.
16 17 18 19 20 21 22 23 |
# File 'lib/solid_queue/scheduler.rb', line 16 def initialize(recurring_tasks:, **) = .dup.with_defaults(SolidQueue::Configuration::SCHEDULER_DEFAULTS) @dynamic_tasks_enabled = [:dynamic_tasks_enabled] @polling_interval = [:polling_interval] @recurring_schedule = RecurringSchedule.new(recurring_tasks, dynamic_tasks_enabled: @dynamic_tasks_enabled) super(**) end |
Instance Attribute Details
#polling_interval ⇒ Object (readonly)
Returns the value of attribute polling_interval.
8 9 10 |
# File 'lib/solid_queue/scheduler.rb', line 8 def polling_interval @polling_interval end |
#recurring_schedule ⇒ Object (readonly)
Returns the value of attribute recurring_schedule.
8 9 10 |
# File 'lib/solid_queue/scheduler.rb', line 8 def recurring_schedule @recurring_schedule end |
Instance Method Details
#metadata ⇒ Object
25 26 27 |
# File 'lib/solid_queue/scheduler.rb', line 25 def super.merge(recurring_schedule: recurring_schedule.task_keys.presence) end |