File tree Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Expand file tree Collapse file tree 2 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -40,15 +40,20 @@ def run(time = Time.now)
40
40
end
41
41
42
42
@thread = nil
43
+ locked = false
44
+
45
+ @lock . lock do
46
+ locked = true
43
47
44
- ran_set = @lock . lock do
45
48
refresh_last_ran
46
49
47
- break true unless run? ( time )
50
+ # we need to check again, as another process might have acquired
51
+ # the lock right before us and obviated our need to do anything
52
+ break unless run? ( time )
48
53
49
54
if disabled?
50
55
@logger . info "disabled: #{ self } "
51
- break true
56
+ break
52
57
end
53
58
54
59
@logger . info "running: #{ self } "
@@ -58,7 +63,7 @@ def run(time = Time.now)
58
63
ran! ( time )
59
64
end
60
65
61
- @logger . info "unable to acquire exclusive run lock: #{ self } " unless ran_set
66
+ @logger . info "unable to acquire exclusive run lock: #{ self } " unless locked
62
67
end
63
68
64
69
def stop
Original file line number Diff line number Diff line change @@ -63,6 +63,8 @@ def start
63
63
64
64
fire_callbacks ( :after_tick )
65
65
66
+ GC . start
67
+
66
68
sleep ( interval )
67
69
end
68
70
You can’t perform that action at this time.
0 commit comments