Sha256: 576acafeaa6c2f103888f3bb3c67bb6ebc6fe7ed92435d6a22ad7a15f350bed7

Contents?: true

Size: 1.12 KB

Versions: 33

Compression:

Stored size: 1.12 KB

Contents

module Cron
  #
  # Automatically update Product Version Lifecycle State to EOL If it is past it's EOL date
  # Runs Daily
  #
  class TrimFailedDelayedJobs < TrimCollection
    #
    # Return the failed collection
    #
    def collection
      Delayed::Backend::Mongoid::Job.where(:failed_at.exists => true)
    end

    def archive?(job)
      if 'Delayed::PerformableMethod'.eql?(job.name)

        data = { object: job.failed_object.inspect,
                 method: job.failed_method_name,
                 args: job.failed_args,
                 failed_at: job.failed_at,
                 attempts: job.attempts,
                 locked_by: job.locked_by }
        SlackNotification.say(data, template: :failed_delayed_job)
        true
      else
        false
      end
    rescue StandardError => error
      log_error "Unable to determine if we should archive job: #{job}", error
      false
    end

    #
    # If the slack API is not present, don't delete jobs or we wont know about it.
    #
    def self.valid_environment?
      SystemConfiguration.slack_api_url.present?
    rescue StandardError
      false
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
web47core-3.2.20 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.19 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.18 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.17 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.16 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.15 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.14 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.13 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.12 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.9 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.8 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.7 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.6 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.5 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.4 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-2.2.20 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-2.2.19 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.3 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-3.2.2 lib/app/jobs/cron/trim_failed_delayed_jobs.rb
web47core-2.2.15 lib/app/jobs/cron/trim_failed_delayed_jobs.rb