spawn_server 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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