blaxter-delayed_job 2.1.3 → 2.1.4
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/VERSION +1 -1
- data/lib/delayed/{job_handler.rb → job_launcher.rb} +19 -6
- data/lib/delayed/worker.rb +1 -0
- data/lib/delayed_job.rb +2 -2
- metadata +5 -5
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.4
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'thread'
|
2
|
+
|
1
3
|
# Handle asynchronously launch of jobs, one per grouped value
|
2
4
|
#
|
3
5
|
# It needs the following method to be defined:
|
@@ -32,6 +34,7 @@ module Delayed
|
|
32
34
|
def initialize_launcher(max_active_jobs=MAX_ACTIVE_JOBS)
|
33
35
|
@max_active_jobs = max_active_jobs
|
34
36
|
@jobs = {}
|
37
|
+
@sem = Mutex.new
|
35
38
|
end
|
36
39
|
|
37
40
|
# Launch the job in a thread and register it. Returns whether the job
|
@@ -84,6 +87,12 @@ module Delayed
|
|
84
87
|
@jobs.size
|
85
88
|
end
|
86
89
|
|
90
|
+
def kill_threads!
|
91
|
+
each_job_in_execution do |job, started_at, thread|
|
92
|
+
puts "Killing #{job.name}"
|
93
|
+
thread.terminate
|
94
|
+
end
|
95
|
+
end
|
87
96
|
# ^ public methods -------------------------------------------------------
|
88
97
|
private
|
89
98
|
# v private methods ------------------------------------------------------
|
@@ -111,15 +120,19 @@ module Delayed
|
|
111
120
|
end
|
112
121
|
|
113
122
|
def unregister_job(job)
|
114
|
-
@
|
123
|
+
@sem.synchronize do
|
124
|
+
@jobs.delete get_object(job)
|
125
|
+
end
|
115
126
|
end
|
116
127
|
|
117
128
|
def register_job(job, thread)
|
118
|
-
@
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
129
|
+
@sem.synchronize do
|
130
|
+
@jobs[get_object(job)] = {
|
131
|
+
:thread => thread,
|
132
|
+
:job => job,
|
133
|
+
:started_at => Time.now
|
134
|
+
}
|
135
|
+
end
|
123
136
|
end
|
124
137
|
|
125
138
|
def get_object(job)
|
data/lib/delayed/worker.rb
CHANGED
data/lib/delayed_job.rb
CHANGED
@@ -3,11 +3,11 @@ autoload :ActiveRecord, 'activerecord'
|
|
3
3
|
require File.dirname(__FILE__) + '/delayed/message_sending'
|
4
4
|
require File.dirname(__FILE__) + '/delayed/performable_method'
|
5
5
|
require File.dirname(__FILE__) + '/delayed/yaml_ext'
|
6
|
-
require File.dirname(__FILE__) + '/delayed/
|
6
|
+
require File.dirname(__FILE__) + '/delayed/job_launcher'
|
7
7
|
require File.dirname(__FILE__) + '/delayed/job'
|
8
8
|
require File.dirname(__FILE__) + '/delayed/worker'
|
9
9
|
|
10
|
-
Object.send(:include, Delayed::MessageSending)
|
10
|
+
Object.send(:include, Delayed::MessageSending)
|
11
11
|
Module.send(:include, Delayed::MessageSending::ClassMethods)
|
12
12
|
|
13
13
|
if defined?(Merb::Plugins)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blaxter-delayed_job
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 2.1.
|
9
|
+
- 4
|
10
|
+
version: 2.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Tobias L\xC3\xBCtke"
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-
|
19
|
+
date: 2010-10-19 00:00:00 +02:00
|
20
20
|
default_executable:
|
21
21
|
dependencies: []
|
22
22
|
|
@@ -35,7 +35,7 @@ files:
|
|
35
35
|
- generators/delayed_job/templates/migration.rb
|
36
36
|
- init.rb
|
37
37
|
- lib/delayed/job.rb
|
38
|
-
- lib/delayed/
|
38
|
+
- lib/delayed/job_launcher.rb
|
39
39
|
- lib/delayed/message_sending.rb
|
40
40
|
- lib/delayed/performable_method.rb
|
41
41
|
- lib/delayed/worker.rb
|