job_boss 0.7.14 → 0.7.15
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/bin/job_boss +1 -1
- data/job_boss.gemspec +1 -1
- data/lib/job_boss/boss.rb +1 -1
- data/lib/job_boss/job.rb +1 -1
- data/test/test_helper.rb +23 -2
- data/test/unit/daemon_test.rb +3 -3
- data/test/unit/job_test.rb +1 -1
- metadata +4 -4
data/bin/job_boss
CHANGED
|
@@ -27,7 +27,7 @@ Daemons.run_proc('job_boss', daemons_options) do
|
|
|
27
27
|
boss = JobBoss::Boss.new
|
|
28
28
|
|
|
29
29
|
if File.exist?('config/environment.rb')
|
|
30
|
-
boss.logger.info "Requiring 'config/environment.rb'"
|
|
30
|
+
# boss.logger.info "Requiring 'config/environment.rb'"
|
|
31
31
|
require 'config/environment'
|
|
32
32
|
end
|
|
33
33
|
|
data/job_boss.gemspec
CHANGED
data/lib/job_boss/boss.rb
CHANGED
|
@@ -106,7 +106,7 @@ module JobBoss
|
|
|
106
106
|
|
|
107
107
|
# Waits until there is at least one available employee and then returns count
|
|
108
108
|
def wait_for_available_employees
|
|
109
|
-
until (employee_count = available_employees) > 0
|
|
109
|
+
until (employee_count = available_employees) > 0
|
|
110
110
|
sleep(config.sleep_interval)
|
|
111
111
|
end
|
|
112
112
|
|
data/lib/job_boss/job.rb
CHANGED
|
@@ -177,7 +177,7 @@ module JobBoss
|
|
|
177
177
|
# sleep_interval specifies polling period
|
|
178
178
|
def wait_for_jobs(jobs = nil, sleep_interval = 0.5)
|
|
179
179
|
at_exit do
|
|
180
|
-
Job.not_completed.
|
|
180
|
+
Job.not_completed.where('id in (?)', jobs).cancel
|
|
181
181
|
end
|
|
182
182
|
|
|
183
183
|
jobs = get_jobs(jobs)
|
data/test/test_helper.rb
CHANGED
|
@@ -16,7 +16,8 @@ class ActiveSupport::TestCase
|
|
|
16
16
|
teardown :stop_daemon
|
|
17
17
|
|
|
18
18
|
def setup_paths
|
|
19
|
-
@
|
|
19
|
+
@job_boss_path = File.expand_path('../..')
|
|
20
|
+
@job_boss_bin_path = File.expand_path(File.join(@job_boss_path, 'bin/job_boss'), __FILE__)
|
|
20
21
|
@app_root_path = File.expand_path('../app_root', __FILE__)
|
|
21
22
|
@db_path = File.join(@app_root_path, 'db')
|
|
22
23
|
@log_path = File.join(@app_root_path, 'log', 'job_boss.log')
|
|
@@ -25,7 +26,14 @@ class ActiveSupport::TestCase
|
|
|
25
26
|
|
|
26
27
|
def clean_app_environment
|
|
27
28
|
Dir.glob(File.join(@db_path, '*')).each {|path| File.unlink(path) }
|
|
28
|
-
|
|
29
|
+
|
|
30
|
+
log_files = Dir.glob(File.join(@app_root_path, 'log', '*'))
|
|
31
|
+
log_files.each do |path|
|
|
32
|
+
# File.open('test/' + File.basename(path), 'w') {|f| f << '' }
|
|
33
|
+
|
|
34
|
+
File.open(File.join(@job_boss_path, 'test', File.basename(path)), 'a') {|f| f << File.read(path) }
|
|
35
|
+
File.unlink(path)
|
|
36
|
+
end
|
|
29
37
|
end
|
|
30
38
|
|
|
31
39
|
def assert_pid_running(pid, message="")
|
|
@@ -89,6 +97,19 @@ class ActiveSupport::TestCase
|
|
|
89
97
|
sleep(wait_interval)
|
|
90
98
|
job.reload
|
|
91
99
|
end
|
|
100
|
+
# wait_until(30) do
|
|
101
|
+
# job.reload
|
|
102
|
+
# job.assigned?
|
|
103
|
+
# end
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def wait_until(timeout, wait_interval = 0.5)
|
|
107
|
+
require 'timeout'
|
|
108
|
+
Timeout::timeout(5) do
|
|
109
|
+
until yield
|
|
110
|
+
sleep(wait_interval)
|
|
111
|
+
end
|
|
112
|
+
end
|
|
92
113
|
end
|
|
93
114
|
|
|
94
115
|
def stop_daemon
|
data/test/unit/daemon_test.rb
CHANGED
|
@@ -7,9 +7,9 @@ class DaemonTest < ActiveSupport::TestCase
|
|
|
7
7
|
wait_for_file(@log_path)
|
|
8
8
|
|
|
9
9
|
log_output = File.read(@log_path)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
assert_match "INFO -- : Started ActiveRecord connection in 'development' environment from database YAML: #{@db_yaml_path}", log_output
|
|
11
|
+
assert_match 'INFO -- : Job Boss started', log_output
|
|
12
|
+
assert_match 'INFO -- : Employee limit: 4', log_output
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
stop_daemon
|
data/test/unit/job_test.rb
CHANGED
|
@@ -7,7 +7,7 @@ Dir.chdir('test/app_root')
|
|
|
7
7
|
Dir.glob('app/jobs/*_jobs.rb').each {|lib| require lib }
|
|
8
8
|
Dir.glob('app/models/*.rb').each {|lib| require lib }
|
|
9
9
|
|
|
10
|
-
class
|
|
10
|
+
class JobTest < ActiveSupport::TestCase
|
|
11
11
|
test "job queuing" do
|
|
12
12
|
start_daemon(:application_root => @app_root_path)
|
|
13
13
|
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: job_boss
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 29
|
|
5
5
|
prerelease: false
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 7
|
|
9
|
-
-
|
|
10
|
-
version: 0.7.
|
|
9
|
+
- 15
|
|
10
|
+
version: 0.7.15
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Brian Underwood
|
|
@@ -15,7 +15,7 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2011-04-
|
|
18
|
+
date: 2011-04-02 00:00:00 -04:00
|
|
19
19
|
default_executable: job_boss
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|