ginst 2009.11.24 → 2009.12.8
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/app/models/task.rb +28 -9
- data/ginst.gemspec +2 -2
- data/lib/ginst/logger.rb +8 -5
- data/public/stylesheets/screen.css +45 -1
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2009.
|
1
|
+
2009.12.8
|
data/app/models/task.rb
CHANGED
@@ -139,30 +139,49 @@ class Task < ActiveRecord::Base
|
|
139
139
|
|
140
140
|
|
141
141
|
def run_shell!
|
142
|
+
|
143
|
+
|
142
144
|
buff = ''
|
143
145
|
logger "Running #{code}"
|
144
|
-
|
146
|
+
|
147
|
+
# set_trace_func proc { |event, file, line, id, binding, classname|
|
148
|
+
# unless file =~ /rails/ || (@_last_file == file && @_last_line == line)
|
149
|
+
# @_last_file = file
|
150
|
+
# @_last_line = line
|
151
|
+
# content = File.read(file).split("\n")[line.to_i-1] rescue ' (not available) '
|
152
|
+
# file = File.basename(file) rescue file
|
153
|
+
# printf "%8s %s:%-2d %10s %8s | %s\n", event, file , line, id, classname, content
|
154
|
+
# end
|
155
|
+
# }
|
156
|
+
|
157
|
+
process_status = Open4.popen4('cat | sh 2>&1') do |pid, stdin, stdout, stderr|
|
158
|
+
stdin.write code
|
159
|
+
stdin.close
|
160
|
+
|
145
161
|
update_attributes(:pid => pid)
|
146
162
|
|
147
163
|
# Incremental update of the database
|
148
|
-
|
149
|
-
|
150
|
-
select(inputs).first.each do |input|
|
164
|
+
begin
|
165
|
+
loop do
|
151
166
|
begin
|
152
|
-
buff +=
|
167
|
+
buff += stdout.read_nonblock(99999999)
|
153
168
|
update_attribute(:output, buff) if output != buff && Time.now.to_i > updated_at.to_i + DATABASE_UPDATE_INTERVAL
|
154
|
-
rescue
|
155
|
-
|
156
|
-
|
157
|
-
end
|
169
|
+
rescue Errno::EAGAIN
|
170
|
+
sleep 0.5
|
171
|
+
end
|
158
172
|
end
|
173
|
+
rescue EOFError
|
174
|
+
|
159
175
|
end
|
160
176
|
update_attribute(:output, buff) if output != buff
|
161
177
|
|
162
178
|
|
163
179
|
end
|
180
|
+
|
181
|
+
set_trace_func nil
|
164
182
|
process_status.exitstatus
|
165
183
|
ensure
|
184
|
+
set_trace_func nil
|
166
185
|
self.update_attributes(:output => buff,:pid => nil, :exit_code => (process_status && process_status.exitstatus))
|
167
186
|
end
|
168
187
|
|
data/ginst.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ginst}
|
8
|
-
s.version = "2009.
|
8
|
+
s.version = "2009.12.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Guillermo \303\201lvarez Fern\303\241ndez"]
|
12
|
-
s.date = %q{2009-
|
12
|
+
s.date = %q{2009-12-10}
|
13
13
|
s.default_executable = %q{ginst}
|
14
14
|
s.description = %q{GINST is the new integration system}
|
15
15
|
s.email = %q{guillermo@cientifico.net}
|
data/lib/ginst/logger.rb
CHANGED
@@ -3,10 +3,7 @@
|
|
3
3
|
class Ginst::Logger
|
4
4
|
|
5
5
|
def initialize(file)
|
6
|
-
@filename = file
|
7
|
-
@file = File.open(file,'a')
|
8
|
-
@file.sync = true
|
9
|
-
|
6
|
+
@filename = file
|
10
7
|
ObjectSpace.define_finalizer(self) do
|
11
8
|
puts self.class.to_s
|
12
9
|
puts 'Cerrando log file'
|
@@ -17,7 +14,7 @@ class Ginst::Logger
|
|
17
14
|
def log(msg,acaller = nil)
|
18
15
|
acaller ||= caller
|
19
16
|
msg = format_msg(msg,acaller)
|
20
|
-
|
17
|
+
write(msg)
|
21
18
|
msg
|
22
19
|
end
|
23
20
|
|
@@ -26,6 +23,12 @@ class Ginst::Logger
|
|
26
23
|
call = File.basename(caller.first).split(":")[0..1].join(":")
|
27
24
|
"[%s %s] %s\n" % [Time.now.to_s, call, msg]
|
28
25
|
end
|
26
|
+
private
|
27
|
+
def write(msg)
|
28
|
+
File.open(@filename,'a') do |f|
|
29
|
+
f.write msg
|
30
|
+
end
|
31
|
+
end
|
29
32
|
end
|
30
33
|
|
31
34
|
|
@@ -481,4 +481,48 @@ p.status.fail {
|
|
481
481
|
color: #ccc;
|
482
482
|
}
|
483
483
|
|
484
|
-
/* @end */
|
484
|
+
/* @end */
|
485
|
+
|
486
|
+
/* @group SimpleBuild */
|
487
|
+
|
488
|
+
.new_simple_build input {
|
489
|
+
border: 0.1em outset rgb(190, 220, 231);
|
490
|
+
-moz-border-radius: 0.5em;
|
491
|
+
-webkit-border-radius: 0.5em;
|
492
|
+
background-color:darksalmon ;
|
493
|
+
float: right;
|
494
|
+
padding: 0.5em 0.8em;
|
495
|
+
margin-top: -1.9em;
|
496
|
+
margin-bottom: -2em;
|
497
|
+
}
|
498
|
+
|
499
|
+
|
500
|
+
/* @end */
|
501
|
+
|
502
|
+
|
503
|
+
|
504
|
+
|
505
|
+
|
506
|
+
|
507
|
+
|
508
|
+
|
509
|
+
|
510
|
+
|
511
|
+
|
512
|
+
|
513
|
+
|
514
|
+
|
515
|
+
|
516
|
+
|
517
|
+
|
518
|
+
|
519
|
+
|
520
|
+
|
521
|
+
|
522
|
+
|
523
|
+
|
524
|
+
|
525
|
+
|
526
|
+
|
527
|
+
|
528
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ginst
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2009.
|
4
|
+
version: 2009.12.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Guillermo \xC3\x81lvarez Fern\xC3\xA1ndez"
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-12-10 00:00:00 +01:00
|
13
13
|
default_executable: ginst
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|