refactor: use ps-current-scale instead of parsing DOKKU_SCALE file when iterating over deployed processes

This commit is contained in:
Jose Diaz-Gonzalez
2021-08-01 01:43:35 -04:00
parent c62bff3002
commit 213f7d224c
9 changed files with 67 additions and 29 deletions

View File

@@ -1,5 +1,5 @@
SUBCOMMANDS = subcommands/inspect subcommands/rebuild subcommands/report subcommands/restart subcommands/restore subcommands/retire subcommands/scale subcommands/set subcommands/start subcommands/stop
TRIGGERS = triggers/app-restart triggers/core-post-deploy triggers/core-post-extract triggers/install triggers/post-app-clone triggers/post-app-clone-setup triggers/post-app-rename triggers/post-app-rename-setup triggers/post-create triggers/post-delete triggers/post-extract triggers/post-stop triggers/pre-deploy triggers/procfile-extract triggers/procfile-get-command triggers/procfile-remove triggers/report
TRIGGERS = triggers/app-restart triggers/core-post-deploy triggers/core-post-extract triggers/install triggers/post-app-clone triggers/post-app-clone-setup triggers/post-app-rename triggers/post-app-rename-setup triggers/post-create triggers/post-delete triggers/post-extract triggers/post-stop triggers/pre-deploy triggers/procfile-extract triggers/procfile-get-command triggers/procfile-remove triggers/ps-current-scale triggers/report
BUILD = commands subcommands triggers
PLUGIN_NAME = ps

View File

@@ -75,6 +75,9 @@ func main() {
case "procfile-remove":
appName := flag.Arg(0)
err = ps.TriggerProcfileRemove(appName)
case "ps-current-scale":
appName := flag.Arg(0)
err = ps.TriggerPsCurrentScale(appName)
case "report":
appName := flag.Arg(0)
err = ps.ReportSingleApp(appName, "", "")

View File

@@ -5,6 +5,7 @@ import (
"os"
"path"
"path/filepath"
"sort"
"strings"
sh "github.com/codeskyblue/go-sh"
@@ -263,3 +264,18 @@ func TriggerProcfileGetCommand(appName string, processType string, port int) err
func TriggerProcfileRemove(appName string) error {
return removeProcfile(appName)
}
// TriggerPsCurrentScale prints out the current scale contents (process-type=quantity) delimited by newlines
func TriggerPsCurrentScale(appName string) error {
formations, err := getFormations(appName)
if err != nil {
return err
}
sort.Sort(formations)
for _, formation := range formations {
fmt.Printf("%s=%d\n", formation.ProcessType, formation.Quantity)
}
return nil
}