command_timer 0.0.4 → 0.0.5
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/command_timer.gemspec +1 -1
- data/lib/command_timer.rb +1 -1
- data/lib/command_timer/command.rb +5 -1
- data/lib/command_timer/runner.rb +20 -4
- data/lib/command_timer/version.rb +1 -1
- metadata +2 -3
- data/sample_commands.yml +0 -17
data/command_timer.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
|
|
6
6
|
gem.email = ["cctiger36@gmail.com"]
|
7
7
|
gem.description = %q{Simple tool to execute commands on schedule}
|
8
8
|
gem.summary = %q{Execute commands on schedule}
|
9
|
-
gem.homepage = ""
|
9
|
+
gem.homepage = "https://github.com/cctiger36/command_timer"
|
10
10
|
|
11
11
|
gem.files = `git ls-files`.split($\)
|
12
12
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
data/lib/command_timer.rb
CHANGED
@@ -12,7 +12,7 @@ module CommandTimer
|
|
12
12
|
return parse_time(%x[ntpdate -q #{server}].scan(/[0-9]{2}:[0-9]{2}:[0-9]{2}/).first)
|
13
13
|
end
|
14
14
|
end
|
15
|
-
puts "Warning: ntpdate not
|
15
|
+
puts "Warning: ntpdate not found and then use the local clock."
|
16
16
|
Time.now
|
17
17
|
end
|
18
18
|
|
data/lib/command_timer/runner.rb
CHANGED
@@ -8,15 +8,22 @@ module CommandTimer
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def start
|
11
|
-
@commands.each_with_index do |command|
|
12
|
-
|
11
|
+
@commands.each_with_index do |command, index|
|
12
|
+
puts "####################"
|
13
|
+
puts "# Next: Command#{index + 1}"
|
14
|
+
puts "####################"
|
15
|
+
if command.burn_time
|
16
|
+
count_down_and_burn_command(command)
|
17
|
+
else
|
18
|
+
wait_input_to_continue(command)
|
19
|
+
end
|
13
20
|
end
|
14
21
|
end
|
15
22
|
|
16
23
|
private
|
17
24
|
|
18
25
|
def count_down_and_burn_command(command)
|
19
|
-
puts "Get ready to execute next command at #{command.burn_time}."
|
26
|
+
puts "Get ready to execute the next command at [#{command.burn_time}]."
|
20
27
|
current_time = CommandTimer.ntp_time(@ntp_server)
|
21
28
|
left_sec = command.burn_time.to_i - current_time.to_i
|
22
29
|
if left_sec <= 0
|
@@ -32,7 +39,7 @@ module CommandTimer
|
|
32
39
|
current_time += 1
|
33
40
|
left_sec -= 1
|
34
41
|
end
|
35
|
-
puts "[#{current_time}]
|
42
|
+
puts "[#{current_time}] Next command will be executed at [#{command.burn_time}] (#{left_sec} seconds left)."
|
36
43
|
if left_sec < 1
|
37
44
|
break
|
38
45
|
else
|
@@ -46,6 +53,15 @@ module CommandTimer
|
|
46
53
|
command.exec
|
47
54
|
end
|
48
55
|
|
56
|
+
def wait_input_to_continue(command)
|
57
|
+
input = ""
|
58
|
+
until ["c", "C", "continue"].include?(input) do
|
59
|
+
print "Input C to execute the next command: "
|
60
|
+
input = STDIN.gets.chomp
|
61
|
+
end
|
62
|
+
command.exec
|
63
|
+
end
|
64
|
+
|
49
65
|
def echo_commands
|
50
66
|
@commands.each_with_index do |command, index|
|
51
67
|
puts "--------------------"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: command_timer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -31,8 +31,7 @@ files:
|
|
31
31
|
- lib/command_timer/parser.rb
|
32
32
|
- lib/command_timer/runner.rb
|
33
33
|
- lib/command_timer/version.rb
|
34
|
-
|
35
|
-
homepage: ''
|
34
|
+
homepage: https://github.com/cctiger36/command_timer
|
36
35
|
licenses: []
|
37
36
|
post_install_message:
|
38
37
|
rdoc_options: []
|
data/sample_commands.yml
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
command1:
|
2
|
-
description: メンテナンス開始
|
3
|
-
burn_time: "11:33:00"
|
4
|
-
content: |
|
5
|
-
cd ~/Documents/workspace/bm_gree/tower7
|
6
|
-
ls
|
7
|
-
command2:
|
8
|
-
description: デプロイ
|
9
|
-
burn_time: "14:10:00"
|
10
|
-
content: |
|
11
|
-
cap deploy ROLES=deploy
|
12
|
-
cap deploy\:admin ROLES=admin
|
13
|
-
command3:
|
14
|
-
description: メンテナンス終了
|
15
|
-
burn_time: "15:00:00"
|
16
|
-
content: |
|
17
|
-
cap maintenance\:nginx_end
|