Sha256: b3f7556f73245b7489e78ec7eaf295dd30709e1d2a2fd3a1335ef0a42d1670fe
Contents?: true
Size: 974 Bytes
Versions: 5
Compression:
Stored size: 974 Bytes
Contents
# frozen_string_literal: true module Delayed module Master module Postgresql class << self def notify(model) model.connection.execute "NOTIFY delayed_job_master" end end module JobNotifier extend ActiveSupport::Concern included do after_create :notify_to_delayed_job_master end private def notify_to_delayed_job_master if run_at && run_at < Time.zone.now Delayed::Master::Postgresql.notify(self.class) end end end module BulkJobNotifier extend ActiveSupport::Concern included do after_enqueue :notify_to_delayed_job_master end private def notify_to_delayed_job_master if @jobs.any? { |job| job.run_at && job.run_at < Time.zone.now } Delayed::Master::Postgresql.notify(@jobs.first.class) end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems