Module: PandaPal::OrganizationConcerns::TaskScheduling
- Extended by:
- ActiveSupport::Concern
- Includes:
- SettingsValidation
- Included in:
- PandaPal::Organization
- Defined in:
- app/models/panda_pal/organization_concerns/task_scheduling.rb
Defined Under Namespace
Classes: ScheduledTaskExecutor
Instance Method Summary collapse
Methods included from SettingsValidation
#settings_structure, #validate_settings
Instance Method Details
#generate_schedule ⇒ Object
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'app/models/panda_pal/organization_concerns/task_scheduling.rb', line 116 def generate_schedule schedule = {} self.class._schedule_descriptors.values.each do |desc| cron_time = schedule_task_cron_time(desc) next unless cron_time.present? schedule["org:#{name}-#{desc[:key]}"] = { 'cron' => cron_time, 'queue' => desc[:queue], 'class' => ScheduledTaskExecutor.to_s, 'args' => [name, desc[:key]], } end schedule end |
#sync_schedule ⇒ Object
132 133 134 135 136 137 138 |
# File 'app/models/panda_pal/organization_concerns/task_scheduling.rb', line 132 def sync_schedule new_schedules = generate_schedule unschedule_tasks(new_schedules.keys) new_schedules.each do |k, v| Sidekiq.set_schedule(k, v) end end |