backgroundrb-rails3 1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. data/.autotest +17 -0
  2. data/ChangeLog +50 -0
  3. data/Gemfile +11 -0
  4. data/LICENSE +4 -0
  5. data/MIT-LICENSE +20 -0
  6. data/README +22 -0
  7. data/Rakefile +128 -0
  8. data/TODO.org +5 -0
  9. data/app/controller/backgroundrb_status_controller.rb +6 -0
  10. data/backgroundrb-rails3.gemspec +219 -0
  11. data/config/backgroundrb.yml +11 -0
  12. data/doc/Rakefile +5 -0
  13. data/doc/config.yaml +2 -0
  14. data/doc/content/advanced/advanced.txt +76 -0
  15. data/doc/content/advanced/advanced.yaml +4 -0
  16. data/doc/content/bugs/bugs.txt +20 -0
  17. data/doc/content/bugs/bugs.yaml +5 -0
  18. data/doc/content/community/community.txt +36 -0
  19. data/doc/content/community/community.yaml +5 -0
  20. data/doc/content/content.txt +168 -0
  21. data/doc/content/content.yaml +5 -0
  22. data/doc/content/faq/faq.txt +41 -0
  23. data/doc/content/faq/faq.yaml +5 -0
  24. data/doc/content/rails/rails.txt +182 -0
  25. data/doc/content/rails/rails.yaml +5 -0
  26. data/doc/content/scheduling/scheduling.txt +166 -0
  27. data/doc/content/scheduling/scheduling.yaml +5 -0
  28. data/doc/content/workers/workers.txt +178 -0
  29. data/doc/content/workers/workers.yaml +5 -0
  30. data/doc/layouts/default/default.erb +56 -0
  31. data/doc/layouts/default/default.yaml +4 -0
  32. data/doc/lib/default.rb +7 -0
  33. data/doc/output/Assets/BG-Ad-Top.png +0 -0
  34. data/doc/output/Assets/BG-Body.png +0 -0
  35. data/doc/output/Assets/BG-Feed.png +0 -0
  36. data/doc/output/Assets/BG-Menu-Hover.png +0 -0
  37. data/doc/output/Assets/BG-Menu.png +0 -0
  38. data/doc/output/Assets/BG-Sidebar-Bottom.png +0 -0
  39. data/doc/output/Assets/Button-Feed.png +0 -0
  40. data/doc/output/images/bg-ad-top.png +0 -0
  41. data/doc/output/images/bg-body.png +0 -0
  42. data/doc/output/images/bg-feed.gif +0 -0
  43. data/doc/output/images/bg-footer.jpg +0 -0
  44. data/doc/output/images/bg-header.jpg +0 -0
  45. data/doc/output/images/bg-menu-hover.png +0 -0
  46. data/doc/output/images/bg-menu.png +0 -0
  47. data/doc/output/images/bg-sidebar-bottom.gif +0 -0
  48. data/doc/output/images/button-feed.png +0 -0
  49. data/doc/output/images/icon-comment.png +0 -0
  50. data/doc/output/images/more_icon.gif +0 -0
  51. data/doc/output/style.css +299 -0
  52. data/doc/page_defaults.yaml +13 -0
  53. data/doc/tasks/default.rake +3 -0
  54. data/doc/templates/default/default.txt +1 -0
  55. data/doc/templates/default/default.yaml +4 -0
  56. data/examples/backgroundrb.yml +25 -0
  57. data/examples/foo_controller.rb +48 -0
  58. data/examples/god_worker.rb +7 -0
  59. data/examples/worker_tests/god_worker_test.rb +8 -0
  60. data/examples/workers/error_worker.rb +17 -0
  61. data/examples/workers/foo_worker.rb +38 -0
  62. data/examples/workers/god_worker.rb +7 -0
  63. data/examples/workers/model_worker.rb +13 -0
  64. data/examples/workers/renewal_worker.rb +11 -0
  65. data/examples/workers/rss_worker.rb +26 -0
  66. data/examples/workers/server_worker.rb +31 -0
  67. data/examples/workers/world_worker.rb +12 -0
  68. data/examples/workers/xmpp_worker.rb +7 -0
  69. data/init.rb +7 -0
  70. data/install.rb +1 -0
  71. data/know_issues.org +5 -0
  72. data/lib/backgroundrb.rb +1 -0
  73. data/lib/backgroundrb/bdrb_client_helper.rb +8 -0
  74. data/lib/backgroundrb/bdrb_cluster_connection.rb +156 -0
  75. data/lib/backgroundrb/bdrb_config.rb +43 -0
  76. data/lib/backgroundrb/bdrb_conn_error.rb +29 -0
  77. data/lib/backgroundrb/bdrb_connection.rb +179 -0
  78. data/lib/backgroundrb/bdrb_job_queue.rb +79 -0
  79. data/lib/backgroundrb/bdrb_result.rb +19 -0
  80. data/lib/backgroundrb/bdrb_start_stop.rb +146 -0
  81. data/lib/backgroundrb/rails_worker_proxy.rb +181 -0
  82. data/lib/backgroundrb/railtie.rb +48 -0
  83. data/lib/generators/backgroundrb/bdrb_migration/USAGE +12 -0
  84. data/lib/generators/backgroundrb/bdrb_migration/bdrb_migration_generator.rb +15 -0
  85. data/lib/generators/backgroundrb/bdrb_migration/templates/migration.rb +27 -0
  86. data/lib/generators/backgroundrb/worker/USAGE +16 -0
  87. data/lib/generators/backgroundrb/worker/templates/unit_test.rb +12 -0
  88. data/lib/generators/backgroundrb/worker/templates/worker.rb +7 -0
  89. data/lib/generators/backgroundrb/worker/worker_generator.rb +14 -0
  90. data/lib/tasks/backgroundrb_tasks.rake +103 -0
  91. data/release_notes.org +48 -0
  92. data/release_points.org +46 -0
  93. data/script/backgroundrb +52 -0
  94. data/script/bdrb_test_helper.rb +99 -0
  95. data/script/load_worker_env.rb +31 -0
  96. data/script/monitrc +25 -0
  97. data/server/backgroundrb_server.rb +12 -0
  98. data/server/lib/bdrb_result_storage.rb +62 -0
  99. data/server/lib/bdrb_server_helper.rb +24 -0
  100. data/server/lib/bdrb_thread_pool.rb +127 -0
  101. data/server/lib/cron_trigger.rb +197 -0
  102. data/server/lib/invalid_dump_error.rb +4 -0
  103. data/server/lib/log_worker.rb +25 -0
  104. data/server/lib/master_proxy.rb +140 -0
  105. data/server/lib/master_worker.rb +187 -0
  106. data/server/lib/meta_worker.rb +432 -0
  107. data/server/lib/trigger.rb +34 -0
  108. data/test/bdrb_client_test_helper.rb +5 -0
  109. data/test/bdrb_test_helper.rb +35 -0
  110. data/test/client/backgroundrb.yml +17 -0
  111. data/test/client/test_bdrb_client_helper.rb +13 -0
  112. data/test/client/test_bdrb_cluster_connection.rb +162 -0
  113. data/test/client/test_bdrb_config.rb +20 -0
  114. data/test/client/test_bdrb_connection.rb +29 -0
  115. data/test/client/test_bdrb_job_queue.rb +63 -0
  116. data/test/client/test_worker_proxy.rb +130 -0
  117. data/test/server/test_cron_trigger.rb +281 -0
  118. data/test/server/test_master_proxy.rb +54 -0
  119. data/test/server/test_master_worker.rb +157 -0
  120. data/test/server/test_meta_worker.rb +281 -0
  121. data/test/server/test_result_storage.rb +14 -0
  122. data/test/socket_mocker.rb +34 -0
  123. data/test/workers/bar_worker.rb +10 -0
  124. data/test/workers/foo_worker.rb +10 -0
  125. data/uninstall.rb +1 -0
  126. metadata +345 -0
data/.autotest ADDED
@@ -0,0 +1,17 @@
1
+ class Autotest
2
+ def find_files
3
+ result = {}
4
+ Find.find '.' do |f|
5
+ Find.prune if @exceptions and f =~ @exceptions and test ?d, f
6
+
7
+ next if test ?d, f
8
+ next if f =~ /(swp|~|rej|orig|flymake)$/ # temporary/patch files
9
+ next if f =~ /\/\.?#/ # Emacs autosave/cvs merge files
10
+
11
+ filename = f.sub(/^\.\//, '')
12
+
13
+ result[filename] = File.stat(filename).mtime rescue next
14
+ end
15
+ return result
16
+ end
17
+ end
data/ChangeLog ADDED
@@ -0,0 +1,50 @@
1
+ 2008-09-07 hemant kumar <hemant@shire.com>
2
+
3
+ * Fix environment loading issues.
4
+
5
+ * Patch by Kieran P for disabling persistent job queue and its polling.
6
+
7
+ * Commit patch by P Baker, related to scheduling a persistent task at specified time. For example:
8
+ MiddleMan(:hello_worker).enq_some_task(:arg => "hello_world",
9
+ :job_key => "boy",:scheduled_at => (Time.now + 1.hour))
10
+
11
+ 2008-06-19 hemant kumar <hemant@shire.com>
12
+
13
+ * Make binary parser iterative and hence won't blow your stack
14
+
15
+ * Add run_concurrent
16
+
17
+ * Let parent sleep for a while when forking the bdrb master process.
18
+
19
+ * Fixed issue with fork. BackgrounDRb now uses fork and exec.
20
+
21
+ 2008-02-28 hemant kumar <hemant@shire>
22
+
23
+ * fixed some meory leaks.
24
+
25
+ * Implemented cleaner API for invoking tasks in workers
26
+
27
+ * Updated the documentation
28
+
29
+ 2008-02-25 hemant kumar <hemant@shire>
30
+
31
+ * Commited Patch by Alex which lets BackgrounDRb to have command line arguments and loading of specific environments
32
+ through command line argument.
33
+
34
+ 2008-02-14 hemant kumar <hemant@shire>
35
+
36
+ * Added TestCases for Cron Triggers, Meta Workers and stuff. We are heading towards proper code coverage with specs.
37
+
38
+ * Added preliminary support for starting a worker on demand through scheduler. What it means is, when you have a worker which is getting
39
+ scheduled very less frequently and you don't want the worker to persist, you can ask BackgrounDRb to restart the worker on each schedule.
40
+
41
+ * Fixed some unreported issues with writing data to socket between workers and stuff.
42
+
43
+ * Fixed issues with too many open connections, because connections were not getting closed. BackgrounDRb now opens only one connection, which is
44
+ reused throughout the lifecycle of rails application.
45
+
46
+ * Fixed all outstanding issues with Cron triggers, BackgrounDRb now explicitly depends on "chronic" gem.
47
+
48
+ * Removed Framework directory and BackgrounDRb now explicitly depends on packet gem.
49
+
50
+
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'chronic', '>= 0.2.3'
4
+ gem 'packet', '0.1.15'
5
+
6
+ group :development do
7
+ gem "shoulda", ">= 0"
8
+ gem "bundler", "~> 1.0.0"
9
+ gem "jeweler", "~> 1.5.1"
10
+ gem "rcov", ">= 0"
11
+ end
data/LICENSE ADDED
@@ -0,0 +1,4 @@
1
+ Copyright (c) 2007 Hemant Kumar ( mail [at] gnufied [dot] org )
2
+ Copyright (c) 2006 Ezra Zygmuntowicz and skaar[at]waste[dot]org
3
+
4
+ The Library is dual licensed under terms of Ruby License or MIT License.
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2007 Hemant Kumar ( mail [at] gnufied [dot] org )
2
+ Copyright (c) 2006 Ezra Zygmuntowicz and skaar[at]waste[dot]org
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README ADDED
@@ -0,0 +1,22 @@
1
+ = BackgrounDRb
2
+
3
+ BackgrounDRb is a Ruby job server and scheduler. Its main intent is to be
4
+ used with Ruby on Rails applications for offloading long-running tasks.
5
+ Since a Rails application blocks while serving a request it is best to
6
+ move long-running tasks off into a background process that is divorced
7
+ from http request/response cycle.
8
+
9
+ This new release of BackgrounDRb is also modular and can be used without Rails so that any Ruby program or framework can use it.
10
+
11
+ Copyright (c) 2006 Ezra Zygmuntowicz,skaar[at]waste[dot]org,
12
+
13
+ Copyright (c) 2007 Hemant Kumar (gethemant [at] gmail.com )
14
+
15
+
16
+ == Usage
17
+
18
+ Install using bundler via rubygems by adding gem 'backgroundrb-rails3' to your Gemfile
19
+
20
+ and then look into http://backgroundrb.rubyforge.org for instructions (DISCLAIMER: documentation on rubyforge is for the Rails2 version of backgroundrb)
21
+
22
+ Something else here.
data/Rakefile ADDED
@@ -0,0 +1,128 @@
1
+ require 'rake'
2
+ require 'rubygems'
3
+ require 'rake/testtask'
4
+ require 'rake/rdoctask'
5
+ require 'spec/rake/spectask'
6
+ require 'rake/contrib/sshpublisher'
7
+
8
+ desc 'Default: run unit tests.'
9
+ task :default => :test
10
+
11
+ desc 'Test the backgroundrb plugin.'
12
+ Rake::TestTask.new(:test) do |t|
13
+ t.libs << 'lib'
14
+ t.pattern = 'test/**/test_*.rb'
15
+ t.verbose = true
16
+ end
17
+
18
+ desc "Run all specs"
19
+ Spec::Rake::SpecTask.new('specs') do |t|
20
+ t.spec_opts = ["--format", "specdoc"]
21
+ t.libs = ['lib', 'server/lib' ]
22
+ t.spec_files = FileList['specs/**/*_spec.rb']
23
+ end
24
+
25
+ desc "RCov"
26
+ task :rcov do
27
+ sh("rcov test/**/*.rb")
28
+ end
29
+
30
+ desc 'Generate documentation for the backgroundrb plugin.'
31
+ Rake::RDocTask.new(:rdoc) do |rdoc|
32
+ rdoc.rdoc_dir = 'doc/output/manual'
33
+ rdoc.title = 'Backgroundrb'
34
+ rdoc.options << '--line-numbers' << '--inline-source'
35
+ rdoc.rdoc_files.include('README')
36
+ rdoc.rdoc_files.include('LICENSE')
37
+ rdoc.rdoc_files.include('lib/*.rb')
38
+ rdoc.rdoc_files.include('lib/backgroundrb/*.rb')
39
+ rdoc.rdoc_files.include('server/*.rb')
40
+ rdoc.rdoc_files.include('server/lib/*.rb')
41
+ rdoc.template = 'jamis'
42
+ end
43
+
44
+ module Rake
45
+ class BackgrounDRbPublisher < SshDirPublisher
46
+ attr_reader :project, :proj_id, :user
47
+ def initialize(projname, user)
48
+ super(
49
+ "#{user}@rubyforge.org",
50
+ "/var/www/gforge-projects/backgroundrb",
51
+ "doc/output")
52
+ end
53
+ end
54
+ end
55
+
56
+ desc "Publish documentation to Rubyforge"
57
+ task :publish_rdoc => [:rdoc] do
58
+ user = ENV['RUBYFORGE_USER']
59
+ publisher = Rake::BackgrounDRbPublisher.new('backgroundrb', user)
60
+ publisher.upload
61
+ end
62
+
63
+ namespace :git do
64
+ def current_branch
65
+ branches = `git branch`
66
+ return branches.split("\n").detect {|x| x =~ /^\*/}.split(' ')[1]
67
+ end
68
+
69
+ desc "Push changes to central git repo"
70
+ task :push do
71
+ sh("git push origin master")
72
+ end
73
+
74
+ desc "update master branch"
75
+ task :up do
76
+ t_branch = current_branch
77
+ sh("git checkout master")
78
+ sh("git pull")
79
+ sh("git checkout #{t_branch}")
80
+ end
81
+
82
+ desc "rebase current branch to master"
83
+ task :rebase => [:up] do
84
+ sh("git rebase master")
85
+ end
86
+
87
+ desc "merge current branch to master"
88
+ task :merge => [:up] do
89
+ t_branch = current_branch
90
+ sh("git checkout master")
91
+ sh("git merge #{t_branch}")
92
+ sh("git checkout #{t_branch}")
93
+ end
94
+
95
+ desc "commot current branch"
96
+ task :commit => [:merge] do
97
+ t_branch = current_branch
98
+ sh("git checkout master")
99
+ sh("git push origin master")
100
+ sh("git checkout #{t_branch}")
101
+ end
102
+ end
103
+
104
+ require 'bundler'
105
+ begin
106
+ Bundler.setup(:default, :development)
107
+ rescue Bundler::BundlerError => e
108
+ $stderr.puts e.message
109
+ $stderr.puts "Run `bundle install` to install missing gems"
110
+ exit e.status_code
111
+ end
112
+
113
+ require 'jeweler'
114
+ Jeweler::Tasks.new do |gem|
115
+ gem.name = "backgroundrb-rails3"
116
+ gem.homepage = "http://github.com/mtylty/backgroundrb-rails3"
117
+ gem.license = "MIT"
118
+ gem.summary = %Q{BackgrounDRb is a Ruby job server and scheduler.}
119
+ gem.description = %Q{
120
+ 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.
121
+ 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.}
122
+ gem.email = "mtylty@gmail.com"
123
+ gem.authors = ["Matteo Latini"]
124
+ gem.version = "1.1"
125
+ gem.add_dependency 'chronic', '>= 0.2.3'
126
+ gem.add_dependency 'packet', '>= 0.1.15'
127
+ end
128
+ Jeweler::RubygemsDotOrgTasks.new
data/TODO.org ADDED
@@ -0,0 +1,5 @@
1
+ * Todo related with new version *
2
+ - write docs for new :schedule_at
3
+ - docs for disabling job queue checks
4
+ - more documentation for job queue
5
+ - Check for job table migration (need internet)
@@ -0,0 +1,6 @@
1
+ class BackgroundrbStatusController < ApplicationController
2
+ def index
3
+ status = MiddleMan.all_worker_info
4
+ render :text => status
5
+ end
6
+ end
@@ -0,0 +1,219 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{backgroundrb-rails3}
8
+ s.version = "1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Matteo Latini"]
12
+ s.date = %q{2010-12-14}
13
+ s.description = %q{
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
+ 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.}
16
+ s.email = %q{mtylty@gmail.com}
17
+ s.extra_rdoc_files = [
18
+ "ChangeLog",
19
+ "LICENSE",
20
+ "README"
21
+ ]
22
+ s.files = [
23
+ ".autotest",
24
+ "ChangeLog",
25
+ "Gemfile",
26
+ "LICENSE",
27
+ "MIT-LICENSE",
28
+ "README",
29
+ "Rakefile",
30
+ "TODO.org",
31
+ "app/controller/backgroundrb_status_controller.rb",
32
+ "backgroundrb-rails3.gemspec",
33
+ "config/backgroundrb.yml",
34
+ "doc/Rakefile",
35
+ "doc/config.yaml",
36
+ "doc/content/advanced/advanced.txt",
37
+ "doc/content/advanced/advanced.yaml",
38
+ "doc/content/bugs/bugs.txt",
39
+ "doc/content/bugs/bugs.yaml",
40
+ "doc/content/community/community.txt",
41
+ "doc/content/community/community.yaml",
42
+ "doc/content/content.txt",
43
+ "doc/content/content.yaml",
44
+ "doc/content/faq/faq.txt",
45
+ "doc/content/faq/faq.yaml",
46
+ "doc/content/rails/rails.txt",
47
+ "doc/content/rails/rails.yaml",
48
+ "doc/content/scheduling/scheduling.txt",
49
+ "doc/content/scheduling/scheduling.yaml",
50
+ "doc/content/workers/workers.txt",
51
+ "doc/content/workers/workers.yaml",
52
+ "doc/layouts/default/default.erb",
53
+ "doc/layouts/default/default.yaml",
54
+ "doc/lib/default.rb",
55
+ "doc/output/Assets/BG-Ad-Top.png",
56
+ "doc/output/Assets/BG-Body.png",
57
+ "doc/output/Assets/BG-Feed.png",
58
+ "doc/output/Assets/BG-Menu-Hover.png",
59
+ "doc/output/Assets/BG-Menu.png",
60
+ "doc/output/Assets/BG-Sidebar-Bottom.png",
61
+ "doc/output/Assets/Button-Feed.png",
62
+ "doc/output/images/bg-ad-top.png",
63
+ "doc/output/images/bg-body.png",
64
+ "doc/output/images/bg-feed.gif",
65
+ "doc/output/images/bg-footer.jpg",
66
+ "doc/output/images/bg-header.jpg",
67
+ "doc/output/images/bg-menu-hover.png",
68
+ "doc/output/images/bg-menu.png",
69
+ "doc/output/images/bg-sidebar-bottom.gif",
70
+ "doc/output/images/button-feed.png",
71
+ "doc/output/images/icon-comment.png",
72
+ "doc/output/images/more_icon.gif",
73
+ "doc/output/style.css",
74
+ "doc/page_defaults.yaml",
75
+ "doc/tasks/default.rake",
76
+ "doc/templates/default/default.txt",
77
+ "doc/templates/default/default.yaml",
78
+ "examples/backgroundrb.yml",
79
+ "examples/foo_controller.rb",
80
+ "examples/god_worker.rb",
81
+ "examples/worker_tests/god_worker_test.rb",
82
+ "examples/workers/error_worker.rb",
83
+ "examples/workers/foo_worker.rb",
84
+ "examples/workers/god_worker.rb",
85
+ "examples/workers/model_worker.rb",
86
+ "examples/workers/renewal_worker.rb",
87
+ "examples/workers/rss_worker.rb",
88
+ "examples/workers/server_worker.rb",
89
+ "examples/workers/world_worker.rb",
90
+ "examples/workers/xmpp_worker.rb",
91
+ "init.rb",
92
+ "install.rb",
93
+ "know_issues.org",
94
+ "lib/backgroundrb.rb",
95
+ "lib/backgroundrb/bdrb_client_helper.rb",
96
+ "lib/backgroundrb/bdrb_cluster_connection.rb",
97
+ "lib/backgroundrb/bdrb_config.rb",
98
+ "lib/backgroundrb/bdrb_conn_error.rb",
99
+ "lib/backgroundrb/bdrb_connection.rb",
100
+ "lib/backgroundrb/bdrb_job_queue.rb",
101
+ "lib/backgroundrb/bdrb_result.rb",
102
+ "lib/backgroundrb/bdrb_start_stop.rb",
103
+ "lib/backgroundrb/rails_worker_proxy.rb",
104
+ "lib/backgroundrb/railtie.rb",
105
+ "lib/generators/backgroundrb/bdrb_migration/USAGE",
106
+ "lib/generators/backgroundrb/bdrb_migration/bdrb_migration_generator.rb",
107
+ "lib/generators/backgroundrb/bdrb_migration/templates/migration.rb",
108
+ "lib/generators/backgroundrb/worker/USAGE",
109
+ "lib/generators/backgroundrb/worker/templates/unit_test.rb",
110
+ "lib/generators/backgroundrb/worker/templates/worker.rb",
111
+ "lib/generators/backgroundrb/worker/worker_generator.rb",
112
+ "lib/tasks/backgroundrb_tasks.rake",
113
+ "release_notes.org",
114
+ "release_points.org",
115
+ "script/backgroundrb",
116
+ "script/bdrb_test_helper.rb",
117
+ "script/load_worker_env.rb",
118
+ "script/monitrc",
119
+ "server/backgroundrb_server.rb",
120
+ "server/lib/bdrb_result_storage.rb",
121
+ "server/lib/bdrb_server_helper.rb",
122
+ "server/lib/bdrb_thread_pool.rb",
123
+ "server/lib/cron_trigger.rb",
124
+ "server/lib/invalid_dump_error.rb",
125
+ "server/lib/log_worker.rb",
126
+ "server/lib/master_proxy.rb",
127
+ "server/lib/master_worker.rb",
128
+ "server/lib/meta_worker.rb",
129
+ "server/lib/trigger.rb",
130
+ "test/bdrb_client_test_helper.rb",
131
+ "test/bdrb_test_helper.rb",
132
+ "test/client/backgroundrb.yml",
133
+ "test/client/test_bdrb_client_helper.rb",
134
+ "test/client/test_bdrb_cluster_connection.rb",
135
+ "test/client/test_bdrb_config.rb",
136
+ "test/client/test_bdrb_connection.rb",
137
+ "test/client/test_bdrb_job_queue.rb",
138
+ "test/client/test_worker_proxy.rb",
139
+ "test/server/test_cron_trigger.rb",
140
+ "test/server/test_master_proxy.rb",
141
+ "test/server/test_master_worker.rb",
142
+ "test/server/test_meta_worker.rb",
143
+ "test/server/test_result_storage.rb",
144
+ "test/socket_mocker.rb",
145
+ "test/workers/bar_worker.rb",
146
+ "test/workers/foo_worker.rb",
147
+ "uninstall.rb"
148
+ ]
149
+ s.homepage = %q{http://github.com/mtylty/backgroundrb-rails3}
150
+ s.licenses = ["MIT"]
151
+ s.require_paths = ["lib"]
152
+ s.rubygems_version = %q{1.3.7}
153
+ s.summary = %q{BackgrounDRb is a Ruby job server and scheduler.}
154
+ s.test_files = [
155
+ "examples/foo_controller.rb",
156
+ "examples/god_worker.rb",
157
+ "examples/worker_tests/god_worker_test.rb",
158
+ "examples/workers/error_worker.rb",
159
+ "examples/workers/foo_worker.rb",
160
+ "examples/workers/god_worker.rb",
161
+ "examples/workers/model_worker.rb",
162
+ "examples/workers/renewal_worker.rb",
163
+ "examples/workers/rss_worker.rb",
164
+ "examples/workers/server_worker.rb",
165
+ "examples/workers/world_worker.rb",
166
+ "examples/workers/xmpp_worker.rb",
167
+ "test/bdrb_client_test_helper.rb",
168
+ "test/bdrb_test_helper.rb",
169
+ "test/client/test_bdrb_client_helper.rb",
170
+ "test/client/test_bdrb_cluster_connection.rb",
171
+ "test/client/test_bdrb_config.rb",
172
+ "test/client/test_bdrb_connection.rb",
173
+ "test/client/test_bdrb_job_queue.rb",
174
+ "test/client/test_worker_proxy.rb",
175
+ "test/server/test_cron_trigger.rb",
176
+ "test/server/test_master_proxy.rb",
177
+ "test/server/test_master_worker.rb",
178
+ "test/server/test_meta_worker.rb",
179
+ "test/server/test_result_storage.rb",
180
+ "test/socket_mocker.rb",
181
+ "test/workers/bar_worker.rb",
182
+ "test/workers/foo_worker.rb"
183
+ ]
184
+
185
+ if s.respond_to? :specification_version then
186
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
187
+ s.specification_version = 3
188
+
189
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
190
+ s.add_runtime_dependency(%q<chronic>, [">= 0.2.3"])
191
+ s.add_runtime_dependency(%q<packet>, ["= 0.1.15"])
192
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
193
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
194
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
195
+ s.add_development_dependency(%q<rcov>, [">= 0"])
196
+ s.add_runtime_dependency(%q<chronic>, [">= 0.2.3"])
197
+ s.add_runtime_dependency(%q<packet>, [">= 0.1.15"])
198
+ else
199
+ s.add_dependency(%q<chronic>, [">= 0.2.3"])
200
+ s.add_dependency(%q<packet>, ["= 0.1.15"])
201
+ s.add_dependency(%q<shoulda>, [">= 0"])
202
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
203
+ s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
204
+ s.add_dependency(%q<rcov>, [">= 0"])
205
+ s.add_dependency(%q<chronic>, [">= 0.2.3"])
206
+ s.add_dependency(%q<packet>, [">= 0.1.15"])
207
+ end
208
+ else
209
+ s.add_dependency(%q<chronic>, [">= 0.2.3"])
210
+ s.add_dependency(%q<packet>, ["= 0.1.15"])
211
+ s.add_dependency(%q<shoulda>, [">= 0"])
212
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
213
+ s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
214
+ s.add_dependency(%q<rcov>, [">= 0"])
215
+ s.add_dependency(%q<chronic>, [">= 0.2.3"])
216
+ s.add_dependency(%q<packet>, [">= 0.1.15"])
217
+ end
218
+ end
219
+