process_pool 0.1.0 → 0.1.1

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/.gitignore CHANGED
@@ -2,4 +2,5 @@
2
2
  vendor/*
3
3
  bin/*
4
4
  tmp/*
5
- scratch_directory/*
5
+ scratch_directory/*
6
+ pkg/*
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -1,3 +1,3 @@
1
- #!/home/psyho/.rvm/ruby-1.8.7-p174/bin/ruby
1
+ #!/usr/bin/ruby1.8
2
2
  require File.join(File.dirname(__FILE__), "../vendor/gems/environment")
3
3
  load File.join(File.dirname(__FILE__), "../vendor/gems/gems/shoulda-2.10.3/bin/convert_to_should_syntax")
data/bin/edit_json.rb CHANGED
@@ -1,3 +1,3 @@
1
- #!/home/psyho/.rvm/ruby-1.8.7-p174/bin/ruby
1
+ #!/usr/bin/ruby1.8
2
2
  require File.join(File.dirname(__FILE__), "../vendor/gems/environment")
3
3
  load File.join(File.dirname(__FILE__), "../vendor/gems/gems/json-1.2.0/bin/edit_json.rb")
data/bin/prettify_json.rb CHANGED
@@ -1,3 +1,3 @@
1
- #!/home/psyho/.rvm/ruby-1.8.7-p174/bin/ruby
1
+ #!/usr/bin/ruby1.8
2
2
  require File.join(File.dirname(__FILE__), "../vendor/gems/environment")
3
3
  load File.join(File.dirname(__FILE__), "../vendor/gems/gems/json-1.2.0/bin/prettify_json.rb")
data/bin/rake CHANGED
@@ -1,3 +1,3 @@
1
- #!/home/psyho/.rvm/ruby-1.8.7-p174/bin/ruby
1
+ #!/usr/bin/ruby1.8
2
2
  require File.join(File.dirname(__FILE__), "../vendor/gems/environment")
3
3
  load File.join(File.dirname(__FILE__), "../vendor/gems/gems/rake-0.8.7/bin/rake")
data/lib/process_pool.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'init')
2
+
1
3
  class ProcessPool
2
4
 
3
5
  class InvalidStateError < StandardError;
@@ -53,6 +55,8 @@ class ProcessPool
53
55
  worker_pids.each do |pid|
54
56
  Process.wait(pid)
55
57
  end
58
+
59
+ queue.close
56
60
  end
57
61
 
58
62
  def is_running?
data/lib/simple_logger.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'init')
2
+
1
3
  class SimpleLogger
2
4
  LEVELS = [:debug, :info, :warn, :error, :fatal]
3
5
 
data/lib/simple_queue.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require File.join(File.expand_path(File.dirname(__FILE__)), 'init')
2
+
1
3
  require 'rubygems'
2
4
  require 'json'
3
5
  require 'tempfile'
@@ -0,0 +1,59 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{process_pool}
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Adam Pohorecki"]
12
+ s.date = %q{2010-01-18}
13
+ s.email = %q{adam@pohorecki.pl}
14
+ s.executables = ["edit_json.rb", "rake", "prettify_json.rb", "convert_to_should_syntax"]
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README"
18
+ ]
19
+ s.files = [
20
+ ".gitignore",
21
+ "Gemfile",
22
+ "LICENSE",
23
+ "README",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "lib/init.rb",
27
+ "lib/process_pool.rb",
28
+ "lib/simple_logger.rb",
29
+ "lib/simple_queue.rb",
30
+ "process_pool.gemspec",
31
+ "test/process_pool_test.rb",
32
+ "test/simple_queue_test.rb",
33
+ "test/test_helper.rb"
34
+ ]
35
+ s.homepage = %q{http://github.com/psyho/process_pool}
36
+ s.rdoc_options = ["--charset=UTF-8"]
37
+ s.require_paths = ["lib"]
38
+ s.rubygems_version = %q{1.3.5}
39
+ s.summary = %q{ProcessPool with interchangeable job queue backends for Ruby}
40
+ s.test_files = [
41
+ "test/process_pool_test.rb",
42
+ "test/simple_queue_test.rb",
43
+ "test/test_helper.rb"
44
+ ]
45
+
46
+ if s.respond_to? :specification_version then
47
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
48
+ s.specification_version = 3
49
+
50
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
51
+ s.add_runtime_dependency(%q<json>, [">= 0"])
52
+ else
53
+ s.add_dependency(%q<json>, [">= 0"])
54
+ end
55
+ else
56
+ s.add_dependency(%q<json>, [">= 0"])
57
+ end
58
+ end
59
+
@@ -8,6 +8,9 @@ class SampleQueue
8
8
  self.data = []
9
9
  end
10
10
 
11
+ def close
12
+ end
13
+
11
14
  def uri
12
15
  'test-queue'
13
16
  end
@@ -175,12 +178,23 @@ class ProcessPoolTest < Test::Unit::TestCase
175
178
  Process.expects(:wait).with(1).times(3).returns(0)
176
179
  @pool.shutdown
177
180
  end
181
+
182
+ should "close the queue" do
183
+ @queue.expects(:close)
184
+ Process.stubs(:wait => 0)
185
+ @pool.shutdown
186
+ end
178
187
  end
179
188
 
180
189
  context "with default queue and two workers" do
181
190
  setup do
182
191
  @pool = ProcessPool.new(1)
183
192
  2.times { |n| @pool.schedule(SampleTask, n) }
193
+ @pool.send(:queue).stubs(:close => nil) # so that we can inspect the queue contents
194
+ end
195
+
196
+ teardown do
197
+ SimpleQueue.get(@pool.send(:queue).uri).close
184
198
  end
185
199
 
186
200
  should "empty the queue before returning from shutdown" do
@@ -213,6 +227,7 @@ class ProcessPoolTest < Test::Unit::TestCase
213
227
  @pool.shutdown
214
228
  assert_equal 0, @pool.send(:queue).size
215
229
  end
230
+
216
231
  end
217
232
 
218
233
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: process_pool
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Pohorecki
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-17 00:00:00 +01:00
12
+ date: 2010-01-18 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -25,16 +25,10 @@ dependencies:
25
25
  description:
26
26
  email: adam@pohorecki.pl
27
27
  executables:
28
- - convert_to_should_syntax
29
- - rake
30
- - rubyforge
31
- - flog
32
- - ruby_parse
33
- - flay
34
- - rcov
35
28
  - edit_json.rb
36
- - sow
29
+ - rake
37
30
  - prettify_json.rb
31
+ - convert_to_should_syntax
38
32
  extensions: []
39
33
 
40
34
  extra_rdoc_files:
@@ -51,6 +45,7 @@ files:
51
45
  - lib/process_pool.rb
52
46
  - lib/simple_logger.rb
53
47
  - lib/simple_queue.rb
48
+ - process_pool.gemspec
54
49
  - test/process_pool_test.rb
55
50
  - test/simple_queue_test.rb
56
51
  - test/test_helper.rb
@@ -83,6 +78,6 @@ signing_key:
83
78
  specification_version: 3
84
79
  summary: ProcessPool with interchangeable job queue backends for Ruby
85
80
  test_files:
86
- - test/test_helper.rb
87
- - test/simple_queue_test.rb
88
81
  - test/process_pool_test.rb
82
+ - test/simple_queue_test.rb
83
+ - test/test_helper.rb
data/bin/flay DELETED
@@ -1,3 +0,0 @@
1
- #!/home/psyho/.rvm/ruby-1.8.7-p174/bin/ruby
2
- require File.join(File.dirname(__FILE__), "../vendor/gems/environment")
3
- load File.join(File.dirname(__FILE__), "../vendor/gems/gems/flay-1.4.0/bin/flay")
data/bin/flog DELETED
@@ -1,3 +0,0 @@
1
- #!/home/psyho/.rvm/ruby-1.8.7-p174/bin/ruby -w
2
- require File.join(File.dirname(__FILE__), "../vendor/gems/environment")
3
- load File.join(File.dirname(__FILE__), "../vendor/gems/gems/flog-2.2.0/bin/flog")
data/bin/rcov DELETED
@@ -1,3 +0,0 @@
1
- #!/home/psyho/.rvm/ruby-1.8.7-p174/bin/ruby
2
- require File.join(File.dirname(__FILE__), "../vendor/gems/environment")
3
- load File.join(File.dirname(__FILE__), "../vendor/gems/gems/rcov-0.9.7.1/bin/rcov")
data/bin/ruby_parse DELETED
@@ -1,3 +0,0 @@
1
- #!/home/psyho/.rvm/ruby-1.8.7-p174/bin/ruby -s
2
- require File.join(File.dirname(__FILE__), "../vendor/gems/environment")
3
- load File.join(File.dirname(__FILE__), "../vendor/gems/gems/ruby_parser-2.0.4/bin/ruby_parse")
data/bin/rubyforge DELETED
@@ -1,3 +0,0 @@
1
- #!/home/psyho/.rvm/ruby-1.8.7-p174/bin/ruby
2
- require File.join(File.dirname(__FILE__), "../vendor/gems/environment")
3
- load File.join(File.dirname(__FILE__), "../vendor/gems/gems/rubyforge-2.0.3/bin/rubyforge")
data/bin/sow DELETED
@@ -1,3 +0,0 @@
1
- #!/home/psyho/.rvm/ruby-1.8.7-p174/bin/ruby -ws
2
- require File.join(File.dirname(__FILE__), "../vendor/gems/environment")
3
- load File.join(File.dirname(__FILE__), "../vendor/gems/gems/hoe-2.5.0/bin/sow")