Sha256: bd05dd35a54bce0cfddb14ed4ea01e8ac68e0b849756d1b33b4c25a39ddc49e6

Contents?: true

Size: 573 Bytes

Versions: 23

Compression:

Stored size: 573 Bytes

Contents

module Workhorse::Jobs
  class CleanupSucceededJobs
    # Instantiates a new cleanup job
    #
    # @param max_age [Integer] The maximal age of jobs to retain, in days. Will
    #   be evaluated at perform time.
    def initialize(max_age: 14)
      @max_age = max_age
    end

    def perform
      age_limit = seconds_ago(@max_age)
      Workhorse::DbJob.where(
        'STATE = ? AND UPDATED_AT <= ?', Workhorse::DbJob::STATE_SUCCEEDED, age_limit
      ).delete_all
    end

    private

    def seconds_ago(days)
      Time.now - days * 24 * 60 * 60
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
workhorse-0.6.9 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.6.8 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.6.7 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.6.6 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.6.5 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.6.4 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.6.3 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.6.2 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.6.1 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.6.0 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.5.1 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.5.0 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.4.0 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.3.9 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.3.8 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.3.7 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.3.6 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.3.5 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.3.4 lib/workhorse/jobs/cleanup_succeeded_jobs.rb
workhorse-0.3.3 lib/workhorse/jobs/cleanup_succeeded_jobs.rb