salsify/delayed_job_groups_plugin

View on GitHub
lib/delayed/job_groups/job_extensions.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

module Delayed
  module JobGroups
    module JobExtensions
      extend ActiveSupport::Concern
      module ReadyToRunExtension
        def ready_to_run(worker_name, max_run_time)
          super(worker_name, max_run_time).where(blocked: false)
        end
      end

      included do
        belongs_to :job_group, class_name: 'Delayed::JobGroups::JobGroup', required: false

        class << self
          prepend ReadyToRunExtension
        end
      end
      def in_job_group?
        job_group_id.present?
      end
    end
  end
end