lobster 0.2.6 → 0.2.7

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.
@@ -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: []