Sha256: 4a0851a0626f9085d41db9511b45ec08a04aa87b73807ef4091e649ca7e4e705

Contents?: true

Size: 516 Bytes

Versions: 4

Compression:

Stored size: 516 Bytes

Contents

module GovernorBackground
  class JobManager
    @@finished_statuses = %w(completed failed killed).freeze
    cattr_reader :jobs
    class << self
      @@jobs = []
      def add(job)
        @@jobs << job
      end
      
      def clean(time = 1.day.ago)
        @@jobs.reject!{|j| j.created_at < time}
      end
      
      def finished_jobs
        finished_jobs = @@jobs.select{|j| @@finished_statuses.include? j.status }
        @@jobs -= finished_jobs
        return finished_jobs
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
governor_background-0.2.2 lib/governor_background/job_manager.rb
governor_background-0.2.1 lib/governor_background/job_manager.rb
governor_background-0.2.0 lib/governor_background/job_manager.rb
governor_background-0.1.0 lib/governor_background/job_manager.rb