spawn_server 1.1.0 → 1.2.0

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/Rakefile CHANGED
@@ -5,15 +5,13 @@ begin
5
5
  require 'jeweler'
6
6
  Jeweler::Tasks.new do |gem|
7
7
  gem.name = "spawn_server"
8
- gem.summary = %Q{TODO: one-line summary of your gem}
9
- gem.description = %Q{TODO: longer description of your gem}
8
+ gem.summary = %Q{Spawns and monitors processes using fork call}
9
+ gem.description = %Q{Spawns processes using fork call, monitors them and other neat things.}
10
10
  gem.email = "jeff.moss@matchbin.com"
11
11
  gem.homepage = "http://github.com/zardinuk/spawn_server"
12
12
  gem.authors = ["Jeff Moss"]
13
13
  gem.add_development_dependency "thoughtbot-shoulda"
14
14
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
15
- gem.add_dependency "spawn"
16
- gem.add_dependency "log4r"
17
15
  end
18
16
  rescue LoadError
19
17
  puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
data/TODO ADDED
@@ -0,0 +1 @@
1
+ TODO: Write TODO's
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.2.0
@@ -191,7 +191,7 @@ module Spawn
191
191
  return (running >= quota)
192
192
  end
193
193
 
194
- def process_stop(id, pid, recursive=true)
194
+ def process_stop(id, pid, recursive=true, wait_time=5)
195
195
  return unless pid
196
196
 
197
197
  if recursive
@@ -199,7 +199,7 @@ module Spawn
199
199
  Dir.glob('/proc/*/status').each do |stat_file|
200
200
  File.open(stat_file).each do |line|
201
201
  if line =~ /^PPid:\s*#{pid}$/
202
- process_stop(id, stat_file.match(/[0-9]+/)[0].to_i)
202
+ process_stop(id, stat_file.match(/[0-9]+/)[0].to_i, recursive, wait_time)
203
203
  break
204
204
  end
205
205
  end
@@ -207,7 +207,11 @@ module Spawn
207
207
  end
208
208
 
209
209
  logger.debug "Stopping process #{pid} (#{id})"
210
- Process.kill(9, pid) rescue nil
210
+ Thread.new do
211
+ Process.kill('HUP', pid) rescue nil
212
+ sleep(wait_time)
213
+ Process.kill(9, pid) rescue nil
214
+ end
211
215
  end
212
216
 
213
217
  def process_start(id, params={})
@@ -0,0 +1,57 @@
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{spawn_server}
8
+ s.version = "1.2.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Jeff Moss"]
12
+ s.date = %q{2010-10-01}
13
+ s.description = %q{Spawns processes using fork call, monitors them and other neat things.}
14
+ s.email = %q{jeff.moss@matchbin.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc",
18
+ "TODO"
19
+ ]
20
+ s.files = [
21
+ ".document",
22
+ ".gitignore",
23
+ "LICENSE",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "lib/spawn/server.rb",
28
+ "lib/spawn/task.rb",
29
+ "lib/spawn_server.rb",
30
+ "spawn_server.gemspec",
31
+ "test/spawn_server_test.rb",
32
+ "test/test_helper.rb"
33
+ ]
34
+ s.homepage = %q{http://github.com/zardinuk/spawn_server}
35
+ s.rdoc_options = ["--charset=UTF-8"]
36
+ s.require_paths = ["lib"]
37
+ s.rubygems_version = %q{1.3.5}
38
+ s.summary = %q{Spawns and monitors processes using fork call}
39
+ s.test_files = [
40
+ "test/test_helper.rb",
41
+ "test/spawn_server_test.rb"
42
+ ]
43
+
44
+ if s.respond_to? :specification_version then
45
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
46
+ s.specification_version = 3
47
+
48
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
49
+ s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
50
+ else
51
+ s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
52
+ end
53
+ else
54
+ s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
55
+ end
56
+ end
57
+
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class SpawnServerTest < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
4
+ should "pass every time" do
5
+ true
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spawn_server
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease: false
6
- segments:
7
- - 1
8
- - 1
9
- - 0
10
- version: 1.1.0
4
+ version: 1.2.0
11
5
  platform: ruby
12
6
  authors:
13
7
  - Jeff Moss
@@ -15,23 +9,19 @@ autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
11
 
18
- date: 2010-09-07 00:00:00 -06:00
12
+ date: 2010-10-01 00:00:00 -06:00
19
13
  default_executable:
20
14
  dependencies:
21
15
  - !ruby/object:Gem::Dependency
22
16
  name: thoughtbot-shoulda
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
26
20
  requirements:
27
21
  - - ">="
28
22
  - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
23
  version: "0"
33
- type: :development
34
- version_requirements: *id001
24
+ version:
35
25
  description: Spawns processes using fork call, monitors them and other neat things.
36
26
  email: jeff.moss@matchbin.com
37
27
  executables: []
@@ -41,6 +31,7 @@ extensions: []
41
31
  extra_rdoc_files:
42
32
  - LICENSE
43
33
  - README.rdoc
34
+ - TODO
44
35
  files:
45
36
  - .document
46
37
  - .gitignore
@@ -51,8 +42,10 @@ files:
51
42
  - lib/spawn/server.rb
52
43
  - lib/spawn/task.rb
53
44
  - lib/spawn_server.rb
45
+ - spawn_server.gemspec
54
46
  - test/spawn_server_test.rb
55
47
  - test/test_helper.rb
48
+ - TODO
56
49
  has_rdoc: true
57
50
  homepage: http://github.com/zardinuk/spawn_server
58
51
  licenses: []
@@ -63,30 +56,24 @@ rdoc_options:
63
56
  require_paths:
64
57
  - lib
65
58
  required_ruby_version: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
60
  - - ">="
69
61
  - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
62
  version: "0"
63
+ version:
74
64
  required_rubygems_version: !ruby/object:Gem::Requirement
75
- none: false
76
65
  requirements:
77
66
  - - ">="
78
67
  - !ruby/object:Gem::Version
79
- hash: 3
80
- segments:
81
- - 0
82
68
  version: "0"
69
+ version:
83
70
  requirements: []
84
71
 
85
72
  rubyforge_project:
86
- rubygems_version: 1.3.7
73
+ rubygems_version: 1.3.5
87
74
  signing_key:
88
75
  specification_version: 3
89
- summary: Forks new processes and monitors them and other neat things
76
+ summary: Spawns and monitors processes using fork call
90
77
  test_files:
91
78
  - test/test_helper.rb
92
79
  - test/spawn_server_test.rb