say_when 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/say_when/storage/active_record/job.rb +31 -16
- data/lib/say_when/version.rb +1 -1
- data/lib/say_when.rb +5 -2
- metadata +4 -4
@@ -21,23 +21,23 @@ module SayWhen
|
|
21
21
|
before_create :set_defaults
|
22
22
|
|
23
23
|
def self.acquire_next(no_later_than)
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
return next_job
|
24
|
+
@next_job = nil
|
25
|
+
hide_logging do
|
26
|
+
SayWhen::Storage::ActiveRecord::Job.transaction do
|
27
|
+
# select and lock the next job that needs executin' (status waiting, and after no_later_than)
|
28
|
+
@next_job = find(:first,
|
29
|
+
:lock => true,
|
30
|
+
:order => 'next_fire_at ASC',
|
31
|
+
:conditions => ['status = ? and ? >= next_fire_at',
|
32
|
+
STATE_WAITING,
|
33
|
+
no_later_than.in_time_zone('UTC')])
|
34
|
+
|
35
|
+
# set status to acquired to take it out of rotation
|
36
|
+
@next_job.update_attribute(:status, STATE_ACQUIRED) unless @next_job.nil?
|
37
|
+
|
38
|
+
end
|
40
39
|
end
|
40
|
+
@next_job
|
41
41
|
end
|
42
42
|
|
43
43
|
def set_defaults
|
@@ -79,6 +79,21 @@ module SayWhen
|
|
79
79
|
execution.save!
|
80
80
|
result
|
81
81
|
end
|
82
|
+
|
83
|
+
protected
|
84
|
+
|
85
|
+
def self.hide_logging
|
86
|
+
old_logger = nil
|
87
|
+
begin
|
88
|
+
old_logger = ::ActiveRecord::Base.logger
|
89
|
+
::ActiveRecord::Base.logger = nil
|
90
|
+
|
91
|
+
yield
|
92
|
+
|
93
|
+
ensure
|
94
|
+
::ActiveRecord::Base.logger = old_logger
|
95
|
+
end
|
96
|
+
end
|
82
97
|
|
83
98
|
end
|
84
99
|
|
data/lib/say_when/version.rb
CHANGED
data/lib/say_when.rb
CHANGED
@@ -18,8 +18,11 @@ module SayWhen
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def SayWhen.logger
|
21
|
-
|
22
|
-
|
21
|
+
if !defined?(@@logger) || !@@logger
|
22
|
+
if defined?(Rails.logger) && Rails.logger
|
23
|
+
@@logger = Rails.logger
|
24
|
+
end
|
25
|
+
|
23
26
|
@@logger = Logger.new(STDOUT) unless defined?(@@logger)
|
24
27
|
end
|
25
28
|
@@logger
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: say_when
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 6
|
10
|
+
version: 0.2.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Andrew Kuklewicz
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-10-
|
18
|
+
date: 2012-10-30 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: activemessaging
|