lobster 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 52ac7af256c54dc7b84c47fbafe7a14ad6be6a7b
4
+ data.tar.gz: d3ed1918824b6cf4243260ad9b999f74bf8c25c3
5
+ SHA512:
6
+ metadata.gz: 2734de1f60f8bce85c91c83c46ce04384aa62a28bf04fa23b16f843962ea8691292b5fe196bbdc902bed721cc2cd737d78defa2aa6c0f28b3537e79c2e75a88c
7
+ data.tar.gz: 9934f4d5cce535e8e4aecaba2bf59e4218973e63e5b8545eacc1f42b19d11b54c9ab85fb19e2a9f0ded2411921f07c0c95e94a702ef834ece7c8cc5ff8821c44
@@ -24,7 +24,7 @@ module Lobster
24
24
  @next_run = nil if opt == :delay and not running?
25
25
  end
26
26
  end
27
-
27
+
28
28
  @name ||= "<unnamed_job_#{@command.hash.abs}>"
29
29
  @next_run ||= Time.now + rand(@delay*60)
30
30
  @last_run ||= Time.now
@@ -56,12 +56,12 @@ module Lobster
56
56
  end
57
57
 
58
58
  def run
59
- create_pipes
59
+ begin
60
+ create_pipes
60
61
 
61
- Lobster.logger.info "Starting job #{@name}"
62
- command_line = @user ? "sudo -nu #{@user} -- sh -lc 'cd #{@directory}; #{@command}'" : @command
62
+ Lobster.logger.info "Starting job #{@name}"
63
+ command_line = @user ? "sudo -nu #{@user} -- sh -lc 'cd #{@directory}; #{@command}'" : @command
63
64
 
64
- begin
65
65
  @pid = spawn(command_line, :out=>@wout, :err=>@werr, :chdir=> @directory)
66
66
  rescue Exception => e
67
67
  Lobster.logger.error "#{e}: error when starting job #{@name}"
@@ -69,7 +69,7 @@ module Lobster
69
69
  @next_run = Time.now + 10
70
70
  end
71
71
  end
72
-
72
+
73
73
  def kill(sig)
74
74
  if @pid
75
75
  Lobster.logger.info "Killing job #{@name} with pid #{@pid}"
@@ -115,10 +115,10 @@ module Lobster
115
115
  end
116
116
 
117
117
  def close_pipes
118
- @wout.close
119
- @rout.close
120
- @werr.close
121
- @rerr.close
118
+ @wout.close if @wout
119
+ @rout.close if @rout
120
+ @werr.close if @werr
121
+ @rerr.close if @rerr
122
122
  end
123
123
  end
124
124
  end
@@ -27,7 +27,7 @@ module Lobster
27
27
  at_exit do
28
28
  @running = false
29
29
  sleep 0.01 until @sleeping # make sure no new jobs are created
30
-
30
+
31
31
  Lobster.logger.info "Exiting, all jobs are getting killed."
32
32
  @job_list.jobs.each_value do |job|
33
33
  job.kill 'INT'
@@ -40,11 +40,11 @@ module Lobster
40
40
  def run
41
41
  Lobster.logger.info "Lobster started version #{Lobster::VERSION}"
42
42
  Lobster.logger.info "Lobster config: #{@config}"
43
-
43
+
44
44
  while @running
45
45
  @sleeping = false
46
46
  now = Time.now
47
-
47
+
48
48
  reload_schedule
49
49
 
50
50
  @job_list.jobs.each_value do |job|
@@ -1,3 +1,3 @@
1
1
  module Lobster
2
- VERSION = '0.2.6'
2
+ VERSION = '0.2.7'
3
3
  end
metadata CHANGED
@@ -1,30 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lobster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
5
- prerelease:
4
+ version: 0.2.7
6
5
  platform: ruby
7
6
  authors:
8
7
  - Maxime Brugidou
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-24 00:00:00.000000000 Z
11
+ date: 2014-04-15 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: daemons
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.1.4
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: 1.1.4
30
27
  description: ''
@@ -51,26 +48,25 @@ files:
51
48
  - lobster.gemspec
52
49
  homepage: https://github.com/brugidou/lobster
53
50
  licenses: []
51
+ metadata: {}
54
52
  post_install_message:
55
53
  rdoc_options: []
56
54
  require_paths:
57
55
  - lib
58
56
  required_ruby_version: !ruby/object:Gem::Requirement
59
- none: false
60
57
  requirements:
61
- - - ! '>='
58
+ - - '>='
62
59
  - !ruby/object:Gem::Version
63
60
  version: '0'
64
61
  required_rubygems_version: !ruby/object:Gem::Requirement
65
- none: false
66
62
  requirements:
67
- - - ! '>='
63
+ - - '>='
68
64
  - !ruby/object:Gem::Version
69
65
  version: '0'
70
66
  requirements: []
71
67
  rubyforge_project:
72
- rubygems_version: 1.8.23
68
+ rubygems_version: 2.0.14
73
69
  signing_key:
74
- specification_version: 3
70
+ specification_version: 4
75
71
  summary: Simple loop job runner service.
76
72
  test_files: []