lib/neptuno/overmind/stop.rb in neptuno-1.0.10 vs lib/neptuno/overmind/stop.rb in neptuno-1.2.0

- old
+ new

@@ -2,19 +2,25 @@ module Neptuno module Overmind # Build docker container for Neptuno project class Stop < Neptuno::CLI::Base - desc 'Overmind: Stop processes inside docker containers' + desc "Stop processes inside docker containers" - option :all, type: :boolean, default: false, desc: 'Run on all services' - argument :services, type: :array, required: false, desc: 'Optional list of services' + option :all, type: :boolean, default: false, desc: "Run on all services" + argument :services, type: :array, required: false, desc: "Optional list of services" def call(services: [], **options) - command_services_to('stop procs', all: options.fetch(:all), services_as_args: services) do |services| - services.each do |service| + command_services_to("stop procs", all: options.fetch(:all), services_as_args: services) do |services| + services_to_stop = services.intersection(services_with_procs).intersection(running_services) + services_to_stop.each do |service| system("cd #{neptuno_path} && docker compose exec #{service} kill -9 -1") - system("cd #{neptuno_path}/procfiles/#{service} && rm .overmind.sock > /dev/null 2>&1") + if config.fetch("procfile_manager") == "tmux" + system("tmux kill-session -t #{service} 2>/dev/null ") + puts "Neptuno killed Tmux session for: #{service}" if `echo $TMUX`.strip.empty? + else + system("cd #{neptuno_path}/procfiles/#{service} && rm .overmind.sock > /dev/null 2>&1") + end end end end end end