backgroundrb-rails3 1.1.3 → 1.1.5
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/Gemfile +9 -0
- data/Rakefile +9 -6
- data/backgroundrb-rails3.gemspec +9 -7
- data/init.rb +1 -1
- data/lib/backgroundrb/bdrb_start_stop.rb +7 -6
- data/lib/backgroundrb/railtie.rb +5 -2
- data/lib/generators/backgroundrb/bdrb_migration/USAGE +1 -1
- data/lib/generators/backgroundrb/bdrb_migration/bdrb_migration_generator.rb +1 -1
- data/server/lib/cron_trigger.rb +14 -7
- data/server/lib/log_worker.rb +2 -2
- data/server/lib/master_worker.rb +10 -9
- data/server/lib/meta_worker.rb +3 -3
- data/test/bdrb_test_helper.rb +6 -4
- data/test/client/test_bdrb_client_helper.rb +2 -2
- data/test/client/test_bdrb_cluster_connection.rb +2 -2
- data/test/client/test_bdrb_config.rb +2 -2
- data/test/client/test_bdrb_connection.rb +3 -3
- data/test/client/test_bdrb_job_queue.rb +2 -2
- data/test/client/test_worker_proxy.rb +2 -2
- data/test/server/test_cron_trigger.rb +1 -1
- data/test/server/test_master_proxy.rb +1 -1
- data/test/server/test_master_worker.rb +3 -1
- data/test/server/test_meta_worker.rb +1 -1
- data/test/server/test_result_storage.rb +1 -1
- metadata +75 -99
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -2,7 +2,9 @@ require 'rake'
|
|
2
2
|
require 'rubygems'
|
3
3
|
require 'rake/testtask'
|
4
4
|
require 'rake/rdoctask'
|
5
|
-
require 'spec/rake/spectask'
|
5
|
+
#require 'spec/rake/spectask'
|
6
|
+
#require 'rspec_helper'
|
7
|
+
require 'rspec/core/rake_task'
|
6
8
|
require 'rake/contrib/sshpublisher'
|
7
9
|
|
8
10
|
desc 'Default: run unit tests.'
|
@@ -16,10 +18,11 @@ Rake::TestTask.new(:test) do |t|
|
|
16
18
|
end
|
17
19
|
|
18
20
|
desc "Run all specs"
|
19
|
-
Spec::Rake::SpecTask.new('specs') do |t|
|
20
|
-
|
21
|
-
t.
|
22
|
-
t.
|
21
|
+
#Spec::Rake::SpecTask.new('specs') do |t|
|
22
|
+
RSpec::Core::RakeTask.new('specs') do |t|
|
23
|
+
t.rspec_opts = ["--format", "specdoc"]
|
24
|
+
#t.libs = ['lib', 'server/lib' ]
|
25
|
+
t.pattern = FileList['specs/**/*_spec.rb']
|
23
26
|
end
|
24
27
|
|
25
28
|
desc "RCov"
|
@@ -123,6 +126,6 @@ Jeweler::Tasks.new do |gem|
|
|
123
126
|
}
|
124
127
|
gem.email = "mtylty@gmail.com"
|
125
128
|
gem.authors = ["Matteo Latini"]
|
126
|
-
gem.version = "1.1.
|
129
|
+
gem.version = "1.1.5"
|
127
130
|
end
|
128
131
|
Jeweler::RubygemsDotOrgTasks.new
|
data/backgroundrb-rails3.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{backgroundrb-rails3}
|
8
|
-
s.version = "1.1.
|
8
|
+
s.version = "1.1.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = [
|
12
|
-
s.date = %q{
|
11
|
+
s.authors = [%q{Matteo Latini}]
|
12
|
+
s.date = %q{2011-05-30}
|
13
13
|
s.description = %q{
|
14
14
|
BackgrounDRb is a Ruby job server and scheduler. Its main intent is to be used with Ruby on Rails applications for offloading long-running tasks.
|
15
15
|
Since a Rails application blocks while serving a request it is best to move long-running tasks off into a background process that is divorced from http request/response cycle.
|
@@ -149,9 +149,9 @@ Gem::Specification.new do |s|
|
|
149
149
|
"uninstall.rb"
|
150
150
|
]
|
151
151
|
s.homepage = %q{http://github.com/mtylty/backgroundrb-rails3}
|
152
|
-
s.licenses = [
|
153
|
-
s.require_paths = [
|
154
|
-
s.rubygems_version = %q{1.
|
152
|
+
s.licenses = [%q{MIT}]
|
153
|
+
s.require_paths = [%q{lib}]
|
154
|
+
s.rubygems_version = %q{1.8.4}
|
155
155
|
s.summary = %q{BackgrounDRb is a Ruby job server and scheduler.}
|
156
156
|
s.test_files = [
|
157
157
|
"examples/foo_controller.rb",
|
@@ -185,7 +185,6 @@ Gem::Specification.new do |s|
|
|
185
185
|
]
|
186
186
|
|
187
187
|
if s.respond_to? :specification_version then
|
188
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
189
188
|
s.specification_version = 3
|
190
189
|
|
191
190
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
@@ -194,12 +193,14 @@ Gem::Specification.new do |s|
|
|
194
193
|
s.add_runtime_dependency(%q<rails>, [">= 3.0.0"])
|
195
194
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
196
195
|
s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
|
196
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
197
197
|
else
|
198
198
|
s.add_dependency(%q<chronic>, [">= 0.2.3"])
|
199
199
|
s.add_dependency(%q<packet>, [">= 0.1.15"])
|
200
200
|
s.add_dependency(%q<rails>, [">= 3.0.0"])
|
201
201
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
202
202
|
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
203
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
203
204
|
end
|
204
205
|
else
|
205
206
|
s.add_dependency(%q<chronic>, [">= 0.2.3"])
|
@@ -207,6 +208,7 @@ Gem::Specification.new do |s|
|
|
207
208
|
s.add_dependency(%q<rails>, [">= 3.0.0"])
|
208
209
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
209
210
|
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
211
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
210
212
|
end
|
211
213
|
end
|
212
214
|
|
data/init.rb
CHANGED
@@ -11,10 +11,12 @@ module BackgrounDRb
|
|
11
11
|
end
|
12
12
|
|
13
13
|
# status == 3, not running.
|
14
|
-
|
15
|
-
print
|
14
|
+
$stdout.sync = true
|
15
|
+
print "Starting BackgrounDRb.... "
|
16
16
|
start_bdrb
|
17
|
-
|
17
|
+
# TODO: find a way to report success/failure
|
18
|
+
puts "Done!"
|
19
|
+
exit(0)
|
18
20
|
end
|
19
21
|
|
20
22
|
def stop
|
@@ -35,7 +37,7 @@ module BackgrounDRb
|
|
35
37
|
# 1 program is dead and /var/run pid file exists
|
36
38
|
# 3 program is not running
|
37
39
|
def status
|
38
|
-
@status
|
40
|
+
@status = begin
|
39
41
|
if pidfile_exists? and process_running?
|
40
42
|
0
|
41
43
|
elsif pidfile_exists? # but not process_running
|
@@ -93,8 +95,7 @@ module BackgrounDRb
|
|
93
95
|
|
94
96
|
#proper way to daemonize - double fork to ensure parent can have no interest in the grandchild
|
95
97
|
if fork # Parent exits, child continues.
|
96
|
-
sleep(
|
97
|
-
exit(0)
|
98
|
+
sleep(1)
|
98
99
|
else
|
99
100
|
Process.setsid # Become session leader.
|
100
101
|
|
data/lib/backgroundrb/railtie.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require "pathname"
|
4
4
|
require "packet"
|
5
5
|
require "ostruct"
|
6
|
+
require "base64"
|
6
7
|
|
7
8
|
require "rails"
|
8
9
|
require "backgroundrb"
|
@@ -26,9 +27,11 @@ module BackgrounDRb
|
|
26
27
|
config.bdrb.root = File.expand_path(File.join(__FILE__, '..', '..', '..'))
|
27
28
|
end
|
28
29
|
BackgrounDRb::BACKGROUNDRB_ROOT = config.bdrb.root
|
29
|
-
|
30
30
|
config.before_configuration do
|
31
|
-
|
31
|
+
# required when "rails s" server started because RAILS_HOME not found
|
32
|
+
RAILS_HOME = Rails.root unless const_defined?(:RAILS_HOME)
|
33
|
+
|
34
|
+
config_file = "#{RAILS_HOME}/config/backgroundrb.yml"
|
32
35
|
|
33
36
|
if File.exists?(config_file) && !config.bdrb.has_key?(:config)
|
34
37
|
config.bdrb.config = BackgrounDRb::Config.read_config(config_file)
|
@@ -10,5 +10,5 @@ Example:
|
|
10
10
|
Assuming this is run at 09:00:15h on 12 September, 2008, this will create the
|
11
11
|
CreateBackgroundrbQueue migration in:
|
12
12
|
|
13
|
-
db/migrate/
|
13
|
+
db/migrate/20080912090015_create_backgroundrb_queue_table.rb
|
14
14
|
|
data/server/lib/cron_trigger.rb
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# TODO:::: i just replaced retry with redo. becuase retry not responding with 1.9.2.
|
2
|
+
# that is why we just need to check code again that can we use redo or
|
3
|
+
# we need any other workaround
|
4
|
+
|
1
5
|
module BackgrounDRb
|
2
6
|
class CronTrigger
|
3
7
|
WDAYS = { 0 => "Sunday",1 => "Monday",2 => "Tuesday",3 => "Wednesday", 4 => "Thursday", 5 => "Friday", 6 => "Saturday" }
|
@@ -35,7 +39,8 @@ module BackgrounDRb
|
|
35
39
|
if next_month < @t_month
|
36
40
|
@t_month = next_month
|
37
41
|
@t_year += 1
|
38
|
-
retry
|
42
|
+
#retry
|
43
|
+
redo
|
39
44
|
end
|
40
45
|
@t_month = next_month
|
41
46
|
end
|
@@ -47,7 +52,8 @@ module BackgrounDRb
|
|
47
52
|
t_time = Chronic.parse("next #{WDAYS[next_wday]}",:now => current_time)
|
48
53
|
@t_day,@t_month,@t_year = t_time.to_a[3..5]
|
49
54
|
@t_wday = next_wday
|
50
|
-
retry
|
55
|
+
#retry
|
56
|
+
redo
|
51
57
|
end
|
52
58
|
elsif !wday_restricted? && day_restricted?
|
53
59
|
day_range = (1.. month_days(@t_year,@t_month))
|
@@ -60,7 +66,8 @@ module BackgrounDRb
|
|
60
66
|
t_time = Chronic.parse("next month",:now => current_time)
|
61
67
|
@t_day = next_day.nil? ? @day.min : next_day
|
62
68
|
@t_month,@t_year = t_time.month,t_time.year
|
63
|
-
|
69
|
+
redo
|
70
|
+
#retry
|
64
71
|
end
|
65
72
|
@t_day = next_day
|
66
73
|
end
|
@@ -86,7 +93,7 @@ module BackgrounDRb
|
|
86
93
|
else
|
87
94
|
@t_day,@t_month,@t_year = next_time_wday.to_a[3..5]
|
88
95
|
end
|
89
|
-
retry
|
96
|
+
redo #retry
|
90
97
|
end
|
91
98
|
end
|
92
99
|
|
@@ -97,7 +104,7 @@ module BackgrounDRb
|
|
97
104
|
@t_hour = next_hour
|
98
105
|
next_day = Chronic.parse("next day",:now => current_time)
|
99
106
|
@t_day,@t_month,@t_year,@t_wday = next_day.to_a[3..6]
|
100
|
-
retry
|
107
|
+
redo #retry
|
101
108
|
end
|
102
109
|
@t_hour = next_hour
|
103
110
|
end
|
@@ -109,7 +116,7 @@ module BackgrounDRb
|
|
109
116
|
@t_min = next_min
|
110
117
|
next_hour = Chronic.parse("next hour",:now => current_time)
|
111
118
|
@t_hour,@t_day,@t_month,@t_year,@t_wday = next_hour.to_a[2..6]
|
112
|
-
retry
|
119
|
+
redo #retry
|
113
120
|
end
|
114
121
|
@t_min = next_min
|
115
122
|
end
|
@@ -120,7 +127,7 @@ module BackgrounDRb
|
|
120
127
|
@t_sec = next_sec
|
121
128
|
next_min = Chronic.parse("next minute",:now => current_time)
|
122
129
|
@t_min,@t_hour,@t_day,@t_month,@t_year,@t_wday = next_min.to_a[1..6]
|
123
|
-
retry
|
130
|
+
redo #retry
|
124
131
|
end
|
125
132
|
@t_sec = next_sec
|
126
133
|
end
|
data/server/lib/log_worker.rb
CHANGED
@@ -7,8 +7,8 @@ class LogWorker < Packet::Worker
|
|
7
7
|
|
8
8
|
def receive_data p_data
|
9
9
|
case p_data[:type]
|
10
|
-
when :request
|
11
|
-
when :response
|
10
|
+
when :request then process_request(p_data)
|
11
|
+
when :response then process_response(p_data)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
data/server/lib/master_worker.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
require 'logger'
|
2
3
|
module BackgrounDRb
|
3
4
|
# Class wraps a logger object for debugging internal errors within server
|
4
5
|
class DebugMaster
|
@@ -7,9 +8,9 @@ module BackgrounDRb
|
|
7
8
|
@log_mode = log_mode
|
8
9
|
@log_flag = log_flag
|
9
10
|
if @log_mode == :foreground
|
10
|
-
@logger =
|
11
|
+
@logger = Logger.new(STDOUT)
|
11
12
|
else
|
12
|
-
@logger =
|
13
|
+
@logger = Logger.new("#{RAILS_HOME}/log/backgroundrb_debug_#{BDRB_CONFIG[:backgroundrb][:port]}.log")
|
13
14
|
end
|
14
15
|
end
|
15
16
|
|
@@ -35,15 +36,15 @@ module BackgrounDRb
|
|
35
36
|
if t_data
|
36
37
|
case t_data[:type]
|
37
38
|
# async method invocation
|
38
|
-
when :async_invoke
|
39
|
+
when :async_invoke then async_method_invoke(t_data)
|
39
40
|
# get status/result
|
40
|
-
when :get_result
|
41
|
+
when :get_result then get_result_object(t_data)
|
41
42
|
# sync method invocation
|
42
|
-
when :sync_invoke
|
43
|
-
when :start_worker
|
44
|
-
when :delete_worker
|
45
|
-
when :worker_info
|
46
|
-
when :all_worker_info
|
43
|
+
when :sync_invoke then method_invoke(t_data)
|
44
|
+
when :start_worker then start_worker_request(t_data)
|
45
|
+
when :delete_worker then delete_drb_worker(t_data)
|
46
|
+
when :worker_info then pass_worker_info(t_data)
|
47
|
+
when :all_worker_info then all_worker_info(t_data)
|
47
48
|
else; debug_logger.info("Invalid request")
|
48
49
|
end
|
49
50
|
end
|
data/server/lib/meta_worker.rb
CHANGED
@@ -223,9 +223,9 @@ module BackgrounDRb
|
|
223
223
|
exit
|
224
224
|
end
|
225
225
|
case p_data[:type]
|
226
|
-
when :request
|
227
|
-
when :response
|
228
|
-
when :get_result
|
226
|
+
when :request then process_request(p_data)
|
227
|
+
when :response then process_response(p_data)
|
228
|
+
when :get_result then return_result_object(p_data)
|
229
229
|
end
|
230
230
|
end
|
231
231
|
|
data/test/bdrb_test_helper.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
require "rubygems"
|
2
|
-
require "mocha"
|
2
|
+
#require "mocha"
|
3
|
+
require "test/unit"
|
3
4
|
require "test/spec"
|
4
5
|
require "active_record"
|
5
6
|
require "active_support"
|
6
7
|
require "yaml"
|
7
8
|
require "erb"
|
8
9
|
|
10
|
+
|
9
11
|
class BDRB_CONFIG
|
10
12
|
@config_value = {}
|
11
13
|
def self.fuck
|
@@ -20,8 +22,8 @@ class BDRB_CONFIG
|
|
20
22
|
end
|
21
23
|
|
22
24
|
RAILS_HOME = File.expand_path(File.join(File.dirname(__FILE__) + "/../../../..")) unless defined?(RAILS_HOME)
|
23
|
-
PACKET_APP =
|
24
|
-
WORKER_ROOT =
|
25
|
+
PACKET_APP = File.expand_path(File.join(File.dirname(__FILE__) + "/../")) unless defined?(PACKET_APP)
|
26
|
+
WORKER_ROOT = File.join(PACKET_APP , "test", "workers") unless defined?(WORKER_ROOT)
|
25
27
|
SERVER_LOGGER = RAILS_HOME + "/log/backgroundrb_debug.log" unless defined?(SERVER_LOGGER)
|
26
28
|
|
27
29
|
["server","server/lib","lib","lib/backgroundrb"].each { |x| $LOAD_PATH.unshift(PACKET_APP + "/#{x}")}
|
@@ -29,7 +31,7 @@ $LOAD_PATH.unshift(WORKER_ROOT)
|
|
29
31
|
|
30
32
|
require "packet"
|
31
33
|
require "bdrb_config"
|
32
|
-
|
34
|
+
require "backgroundrb"
|
33
35
|
require "backgroundrb_server"
|
34
36
|
|
35
37
|
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_test_helper")
|
2
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
1
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_test_helper")
|
2
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
3
3
|
|
4
4
|
context "For client helper" do
|
5
5
|
specify "should return correct worker key" do
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_test_helper")
|
2
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
1
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_test_helper")
|
2
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
3
3
|
|
4
4
|
context "For Cluster connection" do
|
5
5
|
class BackgrounDRb::Connection
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_test_helper")
|
2
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
1
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_test_helper")
|
2
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
3
3
|
|
4
4
|
context "For BackgrounDRb config" do
|
5
5
|
conf_file = File.join(File.dirname(__FILE__),"backgroundrb.yml")
|
@@ -1,6 +1,6 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + "/../socket_mocker")
|
2
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_test_helper")
|
3
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
1
|
+
require File.join(".", File.dirname(__FILE__) + "/../socket_mocker")
|
2
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_test_helper")
|
3
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
4
4
|
|
5
5
|
context "For Actual BackgrounDRB connection" do
|
6
6
|
setup do
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_test_helper")
|
2
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
1
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_test_helper")
|
2
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
3
3
|
require "bdrb_job_queue"
|
4
4
|
|
5
5
|
context "For BackgrounDRb job Queues" do
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_test_helper")
|
2
|
-
require File.join(File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
1
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_test_helper")
|
2
|
+
require File.join(".", File.dirname(__FILE__) + "/../bdrb_client_test_helper")
|
3
3
|
|
4
4
|
context "Worker Proxy in general" do
|
5
5
|
setup do
|
@@ -1,4 +1,5 @@
|
|
1
|
-
require
|
1
|
+
require 'mocha'
|
2
|
+
require File.join(".", File.dirname(__FILE__) + "/..","bdrb_test_helper")
|
2
3
|
|
3
4
|
|
4
5
|
context "Master Worker in general should" do
|
@@ -140,6 +141,7 @@ context "Master Worker in general should" do
|
|
140
141
|
specify "should remove the worker from list if error while fetching results" do
|
141
142
|
c = {:type=>:get_result, :worker=>:foo_worker, :job_key=>:start_message}
|
142
143
|
@master_worker.ask_for_exception(:disconnect)
|
144
|
+
require 'mocha'
|
143
145
|
t_reactor = mock()
|
144
146
|
live_workers = mock()
|
145
147
|
live_workers.expects(:delete).returns(true)
|
metadata
CHANGED
@@ -1,114 +1,96 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: backgroundrb-rails3
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 1
|
9
|
-
- 3
|
10
|
-
version: 1.1.3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.5
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Matteo Latini
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
12
|
+
date: 2011-05-30 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: chronic
|
16
|
+
requirement: &2165194200 !ruby/object:Gem::Requirement
|
23
17
|
none: false
|
24
|
-
requirements:
|
25
|
-
- -
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
hash: 17
|
28
|
-
segments:
|
29
|
-
- 0
|
30
|
-
- 2
|
31
|
-
- 3
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
32
21
|
version: 0.2.3
|
33
22
|
type: :runtime
|
34
|
-
name: chronic
|
35
23
|
prerelease: false
|
36
|
-
version_requirements: *
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
|
24
|
+
version_requirements: *2165194200
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: packet
|
27
|
+
requirement: &2165193360 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
hash: 5
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
- 1
|
47
|
-
- 15
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
48
32
|
version: 0.1.15
|
49
33
|
type: :runtime
|
50
|
-
name: packet
|
51
34
|
prerelease: false
|
52
|
-
version_requirements: *
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
|
35
|
+
version_requirements: *2165193360
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rails
|
38
|
+
requirement: &2165192460 !ruby/object:Gem::Requirement
|
55
39
|
none: false
|
56
|
-
requirements:
|
57
|
-
- -
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
hash: 7
|
60
|
-
segments:
|
61
|
-
- 3
|
62
|
-
- 0
|
63
|
-
- 0
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
64
43
|
version: 3.0.0
|
65
44
|
type: :runtime
|
66
|
-
name: rails
|
67
45
|
prerelease: false
|
68
|
-
version_requirements: *
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
|
46
|
+
version_requirements: *2165192460
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: bundler
|
49
|
+
requirement: &2165191480 !ruby/object:Gem::Requirement
|
71
50
|
none: false
|
72
|
-
requirements:
|
51
|
+
requirements:
|
73
52
|
- - ~>
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
hash: 23
|
76
|
-
segments:
|
77
|
-
- 1
|
78
|
-
- 0
|
79
|
-
- 0
|
53
|
+
- !ruby/object:Gem::Version
|
80
54
|
version: 1.0.0
|
81
55
|
type: :development
|
82
|
-
name: bundler
|
83
56
|
prerelease: false
|
84
|
-
version_requirements: *
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
|
57
|
+
version_requirements: *2165191480
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: jeweler
|
60
|
+
requirement: &2165190500 !ruby/object:Gem::Requirement
|
87
61
|
none: false
|
88
|
-
requirements:
|
62
|
+
requirements:
|
89
63
|
- - ~>
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
hash: 1
|
92
|
-
segments:
|
93
|
-
- 1
|
94
|
-
- 5
|
95
|
-
- 1
|
64
|
+
- !ruby/object:Gem::Version
|
96
65
|
version: 1.5.1
|
97
66
|
type: :development
|
98
|
-
name: jeweler
|
99
67
|
prerelease: false
|
100
|
-
version_requirements: *
|
101
|
-
|
68
|
+
version_requirements: *2165190500
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: &2165189640 !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: *2165189640
|
80
|
+
description: ! "\n BackgrounDRb is a Ruby job server and scheduler. Its main intent
|
81
|
+
is to be used with Ruby on Rails applications for offloading long-running tasks.
|
82
|
+
\n Since a Rails application blocks while serving a request it is best to move
|
83
|
+
long-running tasks off into a background process that is divorced from http request/response
|
84
|
+
cycle.\n This is the RoR 3 version (Railtie based) of the gem. Please read the
|
85
|
+
GitHub homepage for installation instructions.\n "
|
102
86
|
email: mtylty@gmail.com
|
103
87
|
executables: []
|
104
|
-
|
105
88
|
extensions: []
|
106
|
-
|
107
|
-
extra_rdoc_files:
|
89
|
+
extra_rdoc_files:
|
108
90
|
- ChangeLog
|
109
91
|
- LICENSE
|
110
92
|
- README
|
111
|
-
files:
|
93
|
+
files:
|
112
94
|
- .autotest
|
113
95
|
- ChangeLog
|
114
96
|
- Gemfile
|
@@ -234,41 +216,35 @@ files:
|
|
234
216
|
- test/workers/bar_worker.rb
|
235
217
|
- test/workers/foo_worker.rb
|
236
218
|
- uninstall.rb
|
237
|
-
has_rdoc: true
|
238
219
|
homepage: http://github.com/mtylty/backgroundrb-rails3
|
239
|
-
licenses:
|
220
|
+
licenses:
|
240
221
|
- MIT
|
241
222
|
post_install_message:
|
242
223
|
rdoc_options: []
|
243
|
-
|
244
|
-
require_paths:
|
224
|
+
require_paths:
|
245
225
|
- lib
|
246
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
226
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
247
227
|
none: false
|
248
|
-
requirements:
|
249
|
-
- -
|
250
|
-
- !ruby/object:Gem::Version
|
251
|
-
|
252
|
-
segments:
|
228
|
+
requirements:
|
229
|
+
- - ! '>='
|
230
|
+
- !ruby/object:Gem::Version
|
231
|
+
version: '0'
|
232
|
+
segments:
|
253
233
|
- 0
|
254
|
-
|
255
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
234
|
+
hash: 1189617992720552218
|
235
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
256
236
|
none: false
|
257
|
-
requirements:
|
258
|
-
- -
|
259
|
-
- !ruby/object:Gem::Version
|
260
|
-
|
261
|
-
segments:
|
262
|
-
- 0
|
263
|
-
version: "0"
|
237
|
+
requirements:
|
238
|
+
- - ! '>='
|
239
|
+
- !ruby/object:Gem::Version
|
240
|
+
version: '0'
|
264
241
|
requirements: []
|
265
|
-
|
266
242
|
rubyforge_project:
|
267
|
-
rubygems_version: 1.
|
243
|
+
rubygems_version: 1.8.4
|
268
244
|
signing_key:
|
269
245
|
specification_version: 3
|
270
246
|
summary: BackgrounDRb is a Ruby job server and scheduler.
|
271
|
-
test_files:
|
247
|
+
test_files:
|
272
248
|
- examples/foo_controller.rb
|
273
249
|
- examples/god_worker.rb
|
274
250
|
- examples/worker_tests/god_worker_test.rb
|