backgroundrb-rails3 1.1.3 → 1.1.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|