Class: Kidsmin::PcoScheduledSyncJob
- Inherits:
-
ApplicationJob
- Object
- ActiveJob::Base
- ApplicationJob
- Kidsmin::PcoScheduledSyncJob
- Defined in:
- app/jobs/kidsmin/pco_scheduled_sync_job.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.kick_off_if_enabled! ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'app/jobs/kidsmin/pco_scheduled_sync_job.rb', line 21 def self.kick_off_if_enabled! settings = SyncSetting.current return unless settings.auto_sync_enabled? set(wait: settings.sync_frequency_hours.hours).perform_later Rails.logger.info("[Kidsmin] Auto-sync scheduled every #{settings.sync_frequency_hours}h") rescue => e Rails.logger.warn("[Kidsmin] Could not schedule auto-sync: #{e.}") end |
Instance Method Details
#perform ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/jobs/kidsmin/pco_scheduled_sync_job.rb', line 5 def perform settings = SyncSetting.current return unless settings.auto_sync_enabled? Rails.logger.info("[Kidsmin] PcoScheduledSyncJob: running automatic sync") PcoInboundPeopleSyncJob.perform_now if settings.inbound_people_sync? PcoInboundEventsSyncJob.perform_now if settings.inbound_events_sync? reschedule(settings.sync_frequency_hours) rescue => e Rails.logger.error("[Kidsmin] PcoScheduledSyncJob error: #{e.}") reschedule(settings&.sync_frequency_hours || 6) raise end |