invoker 1.5.3 → 1.5.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e1da2ee349b145013878352cca28cc1de9ed13c5
4
- data.tar.gz: 066597992a678fa848f9d6d9e36798272141ff7b
3
+ metadata.gz: 174f97bf4ba760cca1391b8c904114e7949c9dbd
4
+ data.tar.gz: 3fc440a77808ed5fe86f4b344f015f6c866a52b2
5
5
  SHA512:
6
- metadata.gz: 51bd2c4294e3d7b97dfe909f1289b4d62b170db3171c4cee96c1d0848df98d0ab286835f7d8de9a321c2da3e4695aea3e1010a25b308228071f981c2f4dc51ad
7
- data.tar.gz: e265b1e4452c688517aa5a648a5fd81fc34c3a6a395061e7c486723318d6031018778fe3adcf76219dc8771c0b4f73168491ef86b4229d63b3fd8d26d3058f82
6
+ metadata.gz: 58a73394506ed9427f8637c46794643a37c1de4517a48786310e36f5f89f2a9f71c8c8ce6d157cc2798af6a9e2d78262d1362cabaf5f6378e827cbaeae20910c
7
+ data.tar.gz: ce5a29570d59711eee4683533bfdc6668581ff23908abd53dc6e71279551b7679856838269bb02d4ce190f929ff02a08ce87fb17efd6aa6bb27a2b7cb0585307
@@ -0,0 +1,20 @@
1
+ ## Changelog since 1.5.4
2
+
3
+
4
+ # v1.5.4
5
+ * Add support for running Invoker build in SELinux environments (https://github.com/code-mancers/invoker/pull/188)
6
+ * Add an option to print process listing in raw format. This enables us to see complete process list (https://github.com/code-mancers/invoker/pull/193)
7
+ * Fix colors in console output (https://github.com/code-mancers/invoker/pull/192)
8
+ * Add a new option to optionally disable colors in log when starting invoker (#196)
9
+ * Handle TERM and INT signals when stopping invoker. (#196)
10
+
11
+ ## v1.5.3
12
+
13
+ * Always capture STDOUT/STDERR of process to invoker's log file, if invoker is daemonized. (https://github.com/code-mancers/invoker/pull/186)
14
+ * Add a command for filtering all logs for a process. (https://github.com/code-mancers/invoker/pull/186)
15
+ * Prefer Procfile.dev to Procfile (https://github.com/code-mancers/invoker/pull/183)
16
+ * Downgrade Rainbow version to prevent compilation errors in certain environments (https://github.com/code-mancers/invoker/pull/180)
17
+ * Non existant PWD environment variable may cause errors while starting a process (https://github.com/code-mancers/invoker/pull/179)
18
+ * Implement support for specifying process ordering. This allows user to be explicit about
19
+ order in which Invoker should start processes from ini file (https://github.com/code-mancers/invoker/pull/174)
20
+ * Return correct version of Invoker in HTTP header (https://github.com/code-mancers/invoker/pull/173)
data/Rakefile CHANGED
@@ -11,5 +11,6 @@ current_directory = File.expand_path(File.dirname(__FILE__))
11
11
  desc "run specs inside docker"
12
12
  task :docker_spec do
13
13
  system("docker build -t invoker-ruby . ")
14
- system("docker run --name invoker-rspec --rm -v #{current_directory}:/invoker -t invoker-ruby")
14
+ puts "********** Building image is done **********"
15
+ system("docker run --name invoker-rspec --rm -v #{current_directory}:/invoker:z -t invoker-ruby")
15
16
  end
@@ -36,9 +36,10 @@ require "invoker/process_printer"
36
36
  module Invoker
37
37
  class << self
38
38
  attr_accessor :config, :tail_watchers, :commander
39
- attr_accessor :dns_cache, :daemonize
39
+ attr_accessor :dns_cache, :daemonize, :nocolors
40
40
 
41
41
  alias_method :daemonize?, :daemonize
42
+ alias_method :nocolors?, :nocolors
42
43
 
43
44
  def darwin?
44
45
  ruby_platform.downcase.include?("darwin")
@@ -37,10 +37,15 @@ module Invoker
37
37
  type: :boolean,
38
38
  banner: "Daemonize the server into the background",
39
39
  aliases: [:d]
40
+ option :nocolors,
41
+ type: :boolean,
42
+ banner: "Disable color in output",
43
+ aliases: [:nc]
40
44
  def start(file = nil)
41
45
  Invoker.setup_config_location
42
46
  port = options[:port] || 9000
43
47
  Invoker.daemonize = options[:daemon]
48
+ Invoker.nocolors = options[:nocolors]
44
49
  Invoker.load_invoker_config(file, port)
45
50
  warn_about_notification
46
51
  warn_about_old_configuration
@@ -80,9 +85,17 @@ module Invoker
80
85
  end
81
86
 
82
87
  desc "list", "List all running processes"
88
+ option :raw,
89
+ type: :boolean,
90
+ banner: "Print process list in raw text format",
91
+ aliases: [:r]
83
92
  def list
84
93
  unix_socket.send_command('list') do |response_object|
85
- Invoker::ProcessPrinter.new(response_object).tap { |printer| printer.print_table }
94
+ if options[:raw]
95
+ Invoker::ProcessPrinter.new(response_object).tap { |printer| printer.print_raw_text }
96
+ else
97
+ Invoker::ProcessPrinter.new(response_object).tap { |printer| printer.print_table }
98
+ end
86
99
  end
87
100
  end
88
101
 
@@ -27,7 +27,11 @@ module Invoker
27
27
  tail_watchers = Invoker.tail_watchers[@command_label]
28
28
  color_line = "#{@command_label.color(color)} : #{line}"
29
29
  plain_line = "#{@command_label} : #{line}"
30
- Invoker::Logger.puts plain_line
30
+ if Invoker.nocolors?
31
+ Invoker::Logger.puts plain_line
32
+ else
33
+ Invoker::Logger.puts color_line
34
+ end
31
35
  if tail_watchers && !tail_watchers.empty?
32
36
  json_encoded_tail_response = tail_response(color_line)
33
37
  if json_encoded_tail_response
@@ -82,10 +82,16 @@ module Invoker
82
82
  end
83
83
 
84
84
  def install_interrupt_handler
85
- Signal.trap("INT") do
85
+ Signal.trap("INT") {
86
+ Invoker::Logger.puts("Stopping invoker")
86
87
  process_manager.kill_workers
87
88
  exit(0)
88
- end
89
+ }
90
+ Signal.trap("TERM") {
91
+ Invoker::Logger.puts("Stopping invoker")
92
+ process_manager.kill_workers
93
+ exit(0)
94
+ }
89
95
  end
90
96
 
91
97
  def daemonize_app
@@ -19,6 +19,22 @@ module Invoker
19
19
  Formatador.display_compact_table(hash_with_colors)
20
20
  end
21
21
 
22
+ def print_raw_text
23
+ list_response.processes.each do |process|
24
+ Formatador.display_line("[bold]Process Name : #{process.process_name}[/]")
25
+ Formatador.indent {
26
+ Formatador.display_line("Dir : #{process.dir}")
27
+ if process.pid
28
+ Formatador.display_line("PID : #{process.pid}")
29
+ else
30
+ Formatador.display_line("PID : Not Running")
31
+ end
32
+ Formatador.display_line("Port : #{process.port}")
33
+ Formatador.display_line("Command : #{process.shell_command}")
34
+ }
35
+ end
36
+ end
37
+
22
38
  private
23
39
 
24
40
  def colorize_hash(process, color)
@@ -43,5 +43,5 @@ module Invoker
43
43
  Version.new(next_splits.join('.'))
44
44
  end
45
45
  end
46
- VERSION = "1.5.3"
46
+ VERSION = "1.5.4"
47
47
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: invoker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3
4
+ version: 1.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hemant Kumar
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-05-29 00:00:00.000000000 Z
12
+ date: 2017-07-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
@@ -233,6 +233,7 @@ files:
233
233
  - ".rspec"
234
234
  - ".rubocop.yml"
235
235
  - ".travis.yml"
236
+ - CHANGELOG.md
236
237
  - Dockerfile
237
238
  - Gemfile
238
239
  - MIT-LICENSE