job_boss 0.2 → 0.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.
Files changed (56) hide show
  1. data/README.markdown +25 -2
  2. data/Rakefile +21 -8
  3. data/bin/job_boss +1 -0
  4. data/doc/ActiveSupport/TestCase.html +584 -0
  5. data/doc/{Passenger.html → ActiveSupport.html} +10 -30
  6. data/doc/CreateJobs.html +31 -16
  7. data/doc/{Mongrel.html → DaemonTest.html} +23 -39
  8. data/doc/JobBoss/Boss.html +466 -68
  9. data/doc/JobBoss/Config.html +77 -39
  10. data/doc/JobBoss/Job.html +375 -97
  11. data/doc/JobBoss/Queuer.html +35 -21
  12. data/doc/JobBoss.html +14 -311
  13. data/doc/{ActiveRecord.html → MathJobs.html} +66 -36
  14. data/doc/Rakefile.html +43 -9
  15. data/doc/SleepJobs.html +251 -0
  16. data/doc/{PhusionPassenger.html → StringJobs.html} +66 -38
  17. data/doc/bin/job_boss.html +1 -1
  18. data/doc/created.rid +14 -8
  19. data/doc/index.html +63 -7
  20. data/doc/lib/job_boss/boss_rb.html +5 -1
  21. data/doc/lib/job_boss/{configuror_rb.html → config_rb.html} +2 -2
  22. data/doc/lib/job_boss/job_rb.html +3 -1
  23. data/doc/lib/job_boss/queuer_rb.html +1 -1
  24. data/doc/lib/migrate_rb.html +1 -1
  25. data/doc/{vendor/spawn/lib/spawn_rb.html → test/app_root/app/jobs/math_jobs_rb.html} +7 -7
  26. data/doc/{vendor/spawn/lib/patches_rb.html → test/app_root/app/jobs/sleep_jobs_rb.html} +8 -12
  27. data/doc/test/app_root/app/jobs/string_jobs_rb.html +52 -0
  28. data/doc/test/test_helper_rb.html +62 -0
  29. data/doc/{vendor/spawn/init_rb.html → test/unit/daemon_test_rb.html} +3 -3
  30. data/doc/test/unit/job_test_rb.html +60 -0
  31. data/job_boss.gemspec +3 -2
  32. data/lib/job_boss/boss.rb +29 -7
  33. data/lib/job_boss/config.rb +49 -0
  34. data/lib/job_boss/job.rb +57 -13
  35. data/lib/migrate.rb +3 -1
  36. data/test/app_root/app/jobs/math_jobs.rb +5 -0
  37. data/test/app_root/app/jobs/sleep_jobs.rb +9 -0
  38. data/test/app_root/app/jobs/string_jobs.rb +5 -0
  39. data/test/app_root/config/database.yml +22 -0
  40. data/test/test_helper.rb +113 -0
  41. data/test/unit/daemon_test.rb +29 -0
  42. data/test/unit/job_test.rb +73 -0
  43. metadata +46 -27
  44. data/doc/ActiveRecord/Base.html +0 -343
  45. data/doc/Mongrel/HttpServer.html +0 -275
  46. data/doc/Passenger/Railz/RequestHandler.html +0 -271
  47. data/doc/Passenger/Railz.html +0 -185
  48. data/doc/PhusionPassenger/Rack/RequestHandler.html +0 -271
  49. data/doc/PhusionPassenger/Rack.html +0 -185
  50. data/doc/PhusionPassenger/Railz/RequestHandler.html +0 -271
  51. data/doc/PhusionPassenger/Railz.html +0 -185
  52. data/doc/Spawn/SpawnId.html +0 -276
  53. data/doc/Spawn.html +0 -742
  54. data/doc/vendor/spawn/CHANGELOG.html +0 -275
  55. data/doc/vendor/spawn/LICENSE.html +0 -151
  56. data/lib/job_boss/configuror.rb +0 -40
@@ -38,8 +38,8 @@
38
38
  <div class="section-body">
39
39
  <ul>
40
40
 
41
- <li><a href="../lib/job_boss/configuror_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
- class="thickbox" title="lib/job_boss/configuror.rb">lib/job_boss/configuror.rb</a></li>
41
+ <li><a href="../lib/job_boss/config_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/job_boss/config.rb">lib/job_boss/config.rb</a></li>
43
43
 
44
44
  </ul>
45
45
  </div>
@@ -117,8 +117,20 @@
117
117
 
118
118
  <li><a href="../JobBoss/Queuer.html">JobBoss::Queuer</a></li>
119
119
 
120
+ <li><a href="../ActiveSupport.html">ActiveSupport</a></li>
121
+
122
+ <li><a href="../ActiveSupport/TestCase.html">ActiveSupport::TestCase</a></li>
123
+
120
124
  <li><a href="../CreateJobs.html">CreateJobs</a></li>
121
125
 
126
+ <li><a href="../DaemonTest.html">DaemonTest</a></li>
127
+
128
+ <li><a href="../MathJobs.html">MathJobs</a></li>
129
+
130
+ <li><a href="../SleepJobs.html">SleepJobs</a></li>
131
+
132
+ <li><a href="../StringJobs.html">StringJobs</a></li>
133
+
122
134
  </ul>
123
135
  <div id="no-class-search-results" style="display: none;">No matching classes.</div>
124
136
  </div>
@@ -143,13 +155,13 @@
143
155
  <h3 class="section-header">Attributes</h3>
144
156
 
145
157
 
146
- <div id="working-dir-attribute-method" class="method-detail">
147
- <a name="working_dir"></a>
158
+ <div id="application-root-attribute-method" class="method-detail">
159
+ <a name="application_root"></a>
148
160
 
149
- <a name="working_dir="></a>
161
+ <a name="application_root="></a>
150
162
 
151
163
  <div class="method-heading attribute-method-heading">
152
- <span class="method-name">working_dir</span><span
164
+ <span class="method-name">application_root</span><span
153
165
  class="attribute-access-type">[RW]</span>
154
166
  </div>
155
167
 
@@ -174,6 +186,23 @@
174
186
 
175
187
 
176
188
 
189
+ </div>
190
+ </div>
191
+
192
+ <div id="log-path-attribute-method" class="method-detail">
193
+ <a name="log_path"></a>
194
+
195
+ <a name="log_path="></a>
196
+
197
+ <div class="method-heading attribute-method-heading">
198
+ <span class="method-name">log_path</span><span
199
+ class="attribute-access-type">[RW]</span>
200
+ </div>
201
+
202
+ <div class="method-description">
203
+
204
+
205
+
177
206
  </div>
178
207
  </div>
179
208
 
@@ -274,41 +303,50 @@
274
303
  <div class="method-source-code"
275
304
  id="parse-args-source">
276
305
  <pre>
277
- <span class="ruby-comment cmt"># File lib/job_boss/configuror.rb, line 5</span>
306
+ <span class="ruby-comment cmt"># File lib/job_boss/config.rb, line 5</span>
278
307
  5: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_args</span>(<span class="ruby-identifier">argv</span>, <span class="ruby-identifier">options</span> = {})
279
- 6: <span class="ruby-ivar">@working_dir</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:working_dir</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>
308
+ 6: <span class="ruby-ivar">@application_root</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:working_dir</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>
280
309
  7: <span class="ruby-ivar">@database_yaml_path</span> = <span class="ruby-value str">'config/database.yml'</span>
281
- 8: <span class="ruby-ivar">@jobs_path</span> = <span class="ruby-value str">'app/jobs'</span>
282
- 9: <span class="ruby-ivar">@sleep_interval</span> = <span class="ruby-value">0.5</span>
283
- 10: <span class="ruby-ivar">@employee_limit</span> = <span class="ruby-value">4</span>
284
- 11: <span class="ruby-ivar">@environment</span> = <span class="ruby-value str">'development'</span>
285
- 12:
286
- 13: <span class="ruby-identifier">require</span> <span class="ruby-value str">'optparse'</span>
287
- 14:
288
- 15: <span class="ruby-constant">OptionParser</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">opts</span><span class="ruby-operator">|</span>
289
- 16: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">banner</span> = <span class="ruby-value str">&quot;Usage: job_boss [start|stop|restart|status|watch] [-- &lt;options&gt;]&quot;</span>
290
- 17:
291
- 18: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-d&quot;</span>, <span class="ruby-value str">&quot;--database-yaml PATH&quot;</span>, <span class="ruby-value str">&quot;Path for database YAML (defaults to ./config/database.yml)&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
292
- 19: <span class="ruby-ivar">@database_yaml_path</span> = <span class="ruby-identifier">path</span>
293
- 20: <span class="ruby-keyword kw">end</span>
294
- 21:
295
- 22: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-j&quot;</span>, <span class="ruby-value str">&quot;--jobs-path PATH&quot;</span>, <span class="ruby-value str">&quot;Path to folder with job classes (defaults to ./app/jobs)&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
296
- 23: <span class="ruby-ivar">@database_yaml_path</span> = <span class="ruby-identifier">path</span>
297
- 24: <span class="ruby-keyword kw">end</span>
298
- 25:
299
- 26: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-e&quot;</span>, <span class="ruby-value str">&quot;--environment ENV&quot;</span>, <span class="ruby-value str">&quot;Rails environment to use in database YAML file (defaults to 'development')&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">env</span><span class="ruby-operator">|</span>
300
- 27: <span class="ruby-ivar">@environment</span> = <span class="ruby-identifier">env</span>
301
- 28: <span class="ruby-keyword kw">end</span>
302
- 29:
303
- 30: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-s&quot;</span>, <span class="ruby-value str">&quot;--sleep-interval INTERVAL&quot;</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-value str">&quot;Number of seconds for the boss to sleep between checks of the queue (default 0.5)&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">interval</span><span class="ruby-operator">|</span>
304
- 31: <span class="ruby-ivar">@sleep_interval</span> = <span class="ruby-identifier">interval</span>
305
- 32: <span class="ruby-keyword kw">end</span>
306
- 33:
307
- 34: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-c&quot;</span>, <span class="ruby-value str">&quot;--child-limit LIMIT&quot;</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-value str">&quot;Maximum number of employees (default 4)&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">limit</span><span class="ruby-operator">|</span>
308
- 35: <span class="ruby-ivar">@employee_limit</span> = <span class="ruby-identifier">limit</span>
309
- 36: <span class="ruby-keyword kw">end</span>
310
- 37: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">parse!</span>(<span class="ruby-identifier">argv</span>)
311
- 38: <span class="ruby-keyword kw">end</span></pre>
310
+ 8: <span class="ruby-ivar">@log_path</span> = <span class="ruby-value str">'log/job_boss.log'</span>
311
+ 9: <span class="ruby-ivar">@jobs_path</span> = <span class="ruby-value str">'app/jobs'</span>
312
+ 10: <span class="ruby-ivar">@sleep_interval</span> = <span class="ruby-value">0.5</span>
313
+ 11: <span class="ruby-ivar">@employee_limit</span> = <span class="ruby-value">4</span>
314
+ 12: <span class="ruby-ivar">@environment</span> = <span class="ruby-value str">'development'</span>
315
+ 13:
316
+ 14: <span class="ruby-identifier">require</span> <span class="ruby-value str">'optparse'</span>
317
+ 15:
318
+ 16: <span class="ruby-constant">OptionParser</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">opts</span><span class="ruby-operator">|</span>
319
+ 17: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">banner</span> = <span class="ruby-value str">&quot;Usage: job_boss [start|stop|restart|run|zap] [-- &lt;options&gt;]&quot;</span>
320
+ 18:
321
+ 19: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-r&quot;</span>, <span class="ruby-value str">&quot;--application-root PATH&quot;</span>, <span class="ruby-value str">&quot;Path for the application root upon which other paths depend (defaults to .)&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
322
+ 20: <span class="ruby-ivar">@application_root</span> = <span class="ruby-identifier">path</span>
323
+ 21: <span class="ruby-keyword kw">end</span>
324
+ 22:
325
+ 23: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-d&quot;</span>, <span class="ruby-value str">&quot;--database-yaml PATH&quot;</span>, <span class="ruby-node">&quot;Path for database YAML (defaults to &lt;application-root&gt;/#{@database_yaml_path})&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
326
+ 24: <span class="ruby-ivar">@database_yaml_path</span> = <span class="ruby-identifier">path</span>
327
+ 25: <span class="ruby-keyword kw">end</span>
328
+ 26:
329
+ 27: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-l&quot;</span>, <span class="ruby-value str">&quot;--log-path PATH&quot;</span>, <span class="ruby-node">&quot;Path for log file (defaults to &lt;application-root&gt;/#{@log_path})&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
330
+ 28: <span class="ruby-ivar">@log_path</span> = <span class="ruby-identifier">path</span>
331
+ 29: <span class="ruby-keyword kw">end</span>
332
+ 30:
333
+ 31: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-j&quot;</span>, <span class="ruby-value str">&quot;--jobs-path PATH&quot;</span>, <span class="ruby-node">&quot;Path to folder with job classes (defaults to &lt;application-root&gt;/#{@jobs_path})&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
334
+ 32: <span class="ruby-ivar">@jobs_path</span> = <span class="ruby-identifier">path</span>
335
+ 33: <span class="ruby-keyword kw">end</span>
336
+ 34:
337
+ 35: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-e&quot;</span>, <span class="ruby-value str">&quot;--environment ENV&quot;</span>, <span class="ruby-node">&quot;Environment to use in database YAML file (defaults to '#{@environment}')&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">env</span><span class="ruby-operator">|</span>
338
+ 36: <span class="ruby-ivar">@environment</span> = <span class="ruby-identifier">env</span>
339
+ 37: <span class="ruby-keyword kw">end</span>
340
+ 38:
341
+ 39: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-s&quot;</span>, <span class="ruby-value str">&quot;--sleep-interval INTERVAL&quot;</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-node">&quot;Number of seconds for the boss to sleep between checks of the queue (default #{@sleep_interval})&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">interval</span><span class="ruby-operator">|</span>
342
+ 40: <span class="ruby-ivar">@sleep_interval</span> = <span class="ruby-identifier">interval</span>
343
+ 41: <span class="ruby-keyword kw">end</span>
344
+ 42:
345
+ 43: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">&quot;-c&quot;</span>, <span class="ruby-value str">&quot;--employee-limit LIMIT&quot;</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-value str">&quot;Maximum number of employees (default 4)&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">limit</span><span class="ruby-operator">|</span>
346
+ 44: <span class="ruby-ivar">@employee_limit</span> = <span class="ruby-identifier">limit</span>
347
+ 45: <span class="ruby-keyword kw">end</span>
348
+ 46: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">parse!</span>(<span class="ruby-identifier">argv</span>)
349
+ 47: <span class="ruby-keyword kw">end</span></pre>
312
350
  </div>
313
351
 
314
352
  </div>