Class: SequenceServer::JobRemover

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/sequenceserver/job_remover.rb

Overview

Removes expired jobs in a background thread.

Job lifetime is provided in minutes. It can be zero in which case jobs will be deleted as soon as they are done, or it can be Infinity in which case jobs will never be deleted. Default is to delete finished jobs after 7 days.

Constant Summary collapse

DEFAULT_JOB_LIFETIME =

minutes (i.e., 30 days)

43_200

Instance Method Summary collapse

Constructor Details

#initialize(job_lifetime) ⇒ JobRemover

Returns a new instance of JobRemover.



12
13
14
15
16
17
18
# File 'lib/sequenceserver/job_remover.rb', line 12

def initialize(job_lifetime)
  @job_lifetime = job_lifetime || DEFAULT_JOB_LIFETIME
  return if @job_lifetime == 'Infinity' || @job_lifetime == Float::INFINITY

  @job_lifetime = Integer(@job_lifetime) * 60
  spawn_cleanup
end