Module: MiniScheduler
- Defined in:
- lib/mini_scheduler/web.rb,
lib/mini_scheduler.rb,
lib/mini_scheduler/engine.rb,
lib/mini_scheduler/manager.rb,
lib/mini_scheduler/version.rb,
app/models/mini_scheduler/stat.rb,
lib/mini_scheduler/schedule_info.rb,
lib/mini_scheduler/distributed_mutex.rb,
lib/generators/mini_scheduler/install/install_generator.rb
Overview
Defined Under Namespace
Modules: Generators, Schedule, Web
Classes: DistributedMutex, Engine, Manager, ScheduleInfo, SidekiqExceptionHandler, Stat
Constant Summary
collapse
- VERSION =
"0.8.0"
Class Method Summary
collapse
Class Method Details
11
12
13
|
# File 'lib/mini_scheduler.rb', line 11
def self.configure
yield self
end
|
.handle_job_exception(ex, context = {}) ⇒ Object
24
25
26
27
28
29
30
|
# File 'lib/mini_scheduler.rb', line 24
def self.handle_job_exception(ex, context = {})
if job_exception_handler
job_exception_handler.call(ex, context)
else
SidekiqExceptionHandler.handle_exception(ex, context)
end
end
|
.job_exception_handler(&blk) ⇒ Object
19
20
21
22
|
# File 'lib/mini_scheduler.rb', line 19
def self.job_exception_handler(&blk)
@job_exception_handler = blk if blk
@job_exception_handler
end
|
.job_ran(&blk) ⇒ Object
40
41
42
43
|
# File 'lib/mini_scheduler.rb', line 40
def self.job_ran(&blk)
@job_ran = blk if blk
@job_ran
end
|
.redis ⇒ Object
36
37
38
|
# File 'lib/mini_scheduler.rb', line 36
def self.redis
@redis
end
|
.redis=(r) ⇒ Object
32
33
34
|
# File 'lib/mini_scheduler.rb', line 32
def self.redis=(r)
@redis = r
end
|
.start ⇒ Object
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/mini_scheduler.rb', line 45
def self.start
manager = Manager.new
Manager.discover_schedules.each do |schedule|
manager.ensure_schedule!(schedule)
end
Thread.new do
while true
begin
manager.tick
rescue => e
handle_job_exception(e, message: "While ticking scheduling manager")
end
sleep 1
end
end
end
|