Class: Webhookdb::Jobs::SyncTargetRunSync
- Inherits:
-
Object
- Object
- Webhookdb::Jobs::SyncTargetRunSync
- Extended by:
- Async::Job
- Includes:
- Amigo::QueueBackoffJob
- Defined in:
- lib/webhookdb/jobs/sync_target_run_sync.rb
Instance Method Summary collapse
Methods included from Async::Job
Instance Method Details
#dependent_queues ⇒ Object
12 |
# File 'lib/webhookdb/jobs/sync_target_run_sync.rb', line 12 def dependent_queues = ["critical"] |
#perform(sync_target_id) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/webhookdb/jobs/sync_target_run_sync.rb', line 14 def perform(sync_target_id) stgt = Webhookdb::SyncTarget[sync_target_id] if stgt.nil? # A sync target may be enqueued, but destroyed before the sync runs. # If so, log a warning. We see this on staging a lot, # but it does happen on production too, and should be expected. self.(result: "missing_sync_target", sync_target_id:) return end self.(stgt.) begin started = Time.now stgt.run_sync(now: started) self.(result: "sync_target_synced", synced_at_of: started) rescue Webhookdb::SyncTarget::SyncInProgress self.(result: "sync_target_already_in_progress") rescue Webhookdb::SyncTarget::Deleted self.(result: "sync_target_deleted") end end |