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.
- checksums.yaml +7 -0
- data/lib/lobster/job.rb +10 -10
- data/lib/lobster/service.rb +3 -3
- data/lib/lobster/version.rb +1 -1
- metadata +9 -13
checksums.yaml
ADDED
@@ -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
|
data/lib/lobster/job.rb
CHANGED
@@ -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
|
-
|
59
|
+
begin
|
60
|
+
create_pipes
|
60
61
|
|
61
|
-
|
62
|
-
|
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
|
data/lib/lobster/service.rb
CHANGED
@@ -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|
|
data/lib/lobster/version.rb
CHANGED
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.
|
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:
|
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:
|
68
|
+
rubygems_version: 2.0.14
|
73
69
|
signing_key:
|
74
|
-
specification_version:
|
70
|
+
specification_version: 4
|
75
71
|
summary: Simple loop job runner service.
|
76
72
|
test_files: []
|