-
Notifications
You must be signed in to change notification settings - Fork 90
/
solid_queue.rb
50 lines (36 loc) · 1.24 KB
/
solid_queue.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# frozen_string_literal: true
require "solid_queue/version"
require "solid_queue/engine"
require "active_job"
require "active_job/queue_adapters"
require "zeitwerk"
loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false)
loader.ignore("#{__dir__}/solid_queue/tasks.rb")
loader.ignore("#{__dir__}/generators")
loader.ignore("#{__dir__}/puma")
loader.setup
module SolidQueue
mattr_accessor :logger, default: ActiveSupport::Logger.new($stdout)
mattr_accessor :app_executor, :on_thread_error, :connects_to
mattr_accessor :use_skip_locked, default: true
mattr_accessor :process_heartbeat_interval, default: 60.seconds
mattr_accessor :process_alive_threshold, default: 5.minutes
mattr_accessor :shutdown_timeout, default: 5.seconds
mattr_accessor :silence_polling, default: true
mattr_accessor :supervisor_pidfile
mattr_accessor :supervisor, default: false
mattr_accessor :preserve_finished_jobs, default: true
mattr_accessor :clear_finished_jobs_after, default: 1.day
mattr_accessor :default_concurrency_control_period, default: 3.minutes
class << self
def supervisor?
supervisor
end
def silence_polling?
silence_polling
end
def preserve_finished_jobs?
preserve_finished_jobs
end
end
end