Class: Webhookdb::Jobs::RenewWatchChannel

Inherits:
Object
  • Object
show all
Extended by:
Async::Job
Includes:
Amigo::QueueBackoffJob
Defined in:
lib/webhookdb/jobs/renew_watch_channel.rb

Overview

Generic helper to renew watch channels, enqueued by replicator-specific jobs like RenewGoogleWatchChannels. Must be emitted with [service integration id, expirng_before:] Calls #renew_watch_channel(row_pk:, expiring_before:).

Instance Method Summary collapse

Methods included from Async::Job

extended

Instance Method Details

#_perform(event) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/webhookdb/jobs/renew_watch_channel.rb', line 18

def _perform(event)
  sint = self.lookup_model(Webhookdb::ServiceIntegration, event)
  self.with_log_tags(sint.log_tags) do
    opts = event.payload[1]
    row_pk = opts.fetch("row_pk")
    expiring_before = Time.parse(opts.fetch("expiring_before"))
    sint.replicator.renew_watch_channel(row_pk:, expiring_before:)
  end
end