39 lines
1006 B
Bash
Executable File
39 lines
1006 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
|
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
|
source "$PLUGIN_AVAILABLE_PATH/config/functions"
|
|
source "$PLUGIN_AVAILABLE_PATH/ps/functions"
|
|
|
|
ps_stopall_cmd() {
|
|
declare desc="stops all apps via command line"
|
|
local cmd="ps:stopall"
|
|
local GNU_PARALLEL
|
|
|
|
if which parallel > /dev/null 2>&1; then
|
|
dokku_log_info1 "Stopping in parallel"
|
|
GNU_PARALLEL=$(parallel -V 2>&1 | grep GNU || true)
|
|
if [[ -z "$GNU_PARALLEL" ]]; then
|
|
# shellcheck disable=SC2046
|
|
parallel -i bash -c "dokku ps:stop {}" -- $(dokku_apps)
|
|
else
|
|
dokku_apps | parallel 'dokku ps:stop {}'
|
|
fi
|
|
return
|
|
fi
|
|
|
|
for app in $(dokku_apps); do
|
|
if ! (is_deployed "$app"); then
|
|
dokku_log_warn "App $app has not been deployed"
|
|
continue
|
|
fi
|
|
|
|
dokku_log_verbose "Stopping app $app ..."
|
|
if ps_stop "$app"; then
|
|
continue
|
|
fi
|
|
dokku_log_warn "dokku ps:stop ${app} failed"
|
|
done
|
|
}
|
|
|
|
ps_stopall_cmd "$@"
|