lobster 0.2.4 → 0.2.5.pre

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/lib/lobster/job.rb CHANGED
@@ -8,6 +8,21 @@ module Lobster
8
8
  @name = name
9
9
  Lobster.logger.info "Job #{name} created."
10
10
  @pid = nil
11
+
12
+ rout, @wout = IO.pipe
13
+ rerr, @werr = IO.pipe
14
+
15
+ Thread.new do
16
+ while (line = rout.gets)
17
+ Lobster.logger.info "#{@name}: #{line.chomp}"
18
+ end
19
+ end
20
+
21
+ Thread.new do
22
+ while (line = rerr.gets)
23
+ Lobster.logger.warn "#{@name}: #{line.chomp}"
24
+ end
25
+ end
11
26
  end
12
27
 
13
28
  def reload(options, lobster_dir)
@@ -54,12 +69,12 @@ module Lobster
54
69
  end
55
70
  end
56
71
 
57
- def run(out,err)
72
+ def run
58
73
  Lobster.logger.info "Starting job #{@name}"
59
74
  command_line = @user ? "sudo -inu #{@user} -- sh -c 'cd #{@directory}; #{@command}'" : @command
60
75
 
61
76
  begin
62
- @pid = spawn(command_line, :out=>out, :err=>err, :chdir=> @directory)
77
+ @pid = spawn(command_line, :out=>@wout, :err=>@werr, :chdir=> @directory)
63
78
  rescue Exception => e
64
79
  Lobster.logger.error "#{e}: error when starting job #{@name}"
65
80
  @next_run = Time.now + 10
@@ -14,21 +14,6 @@ module Lobster
14
14
  @config = config
15
15
  @poll_delay = 60
16
16
 
17
- rout, @wout = IO.pipe
18
- rerr, @werr = IO.pipe
19
-
20
- Thread.new do
21
- while (line = rout.gets)
22
- Lobster.logger.info line.chomp
23
- end
24
- end
25
-
26
- Thread.new do
27
- while (line = rerr.gets)
28
- Lobster.logger.warn line.chomp
29
- end
30
- end
31
-
32
17
  trap 'HUP' do
33
18
  begin
34
19
  @config.reload(@config[:lobster_dir], @config[:environment])
@@ -65,7 +50,7 @@ module Lobster
65
50
  @job_list.jobs.each_value do |job|
66
51
  job.check_last_run
67
52
  if not job.running? and now >= job.next_run
68
- job.run(@wout, @werr)
53
+ job.run
69
54
  end
70
55
  end
71
56
  @sleeping = true
@@ -1,3 +1,3 @@
1
1
  module Lobster
2
- VERSION = '0.2.4'
2
+ VERSION = '0.2.5.pre'
3
3
  end
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lobster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
5
- prerelease:
4
+ version: 0.2.5.pre
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Maxime Brugidou
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-12 00:00:00.000000000 Z
12
+ date: 2012-07-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: daemons
16
- requirement: &73730740 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,12 @@ dependencies:
21
21
  version: 1.1.4
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *73730740
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.1.4
25
30
  description: ''
26
31
  email:
27
32
  - m.brugidou@criteo.com
@@ -59,12 +64,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
59
64
  required_rubygems_version: !ruby/object:Gem::Requirement
60
65
  none: false
61
66
  requirements:
62
- - - ! '>='
67
+ - - ! '>'
63
68
  - !ruby/object:Gem::Version
64
- version: '0'
69
+ version: 1.3.1
65
70
  requirements: []
66
71
  rubyforge_project:
67
- rubygems_version: 1.8.11
72
+ rubygems_version: 1.8.23
68
73
  signing_key:
69
74
  specification_version: 3
70
75
  summary: Simple loop job runner service.