fix: continue including maintenance mode cron tasks in the cron:list subcommand
This commit is contained in:
@@ -44,6 +44,9 @@ type TemplateCommand struct {
|
||||
|
||||
// LogFile is the log file to write to
|
||||
LogFile string `json:"-"`
|
||||
|
||||
// Maintenance is whether the cron command is in maintenance mode
|
||||
Maintenance bool `json:"maintenance"`
|
||||
}
|
||||
|
||||
// CronCommand returns the command to run for a given cron command
|
||||
@@ -61,9 +64,7 @@ func (t TemplateCommand) CronCommand() string {
|
||||
// FetchCronEntries returns a list of cron commands for a given app
|
||||
func FetchCronEntries(appName string) ([]TemplateCommand, error) {
|
||||
commands := []TemplateCommand{}
|
||||
if reportComputedMaintenance(appName) == "true" {
|
||||
return commands, nil
|
||||
}
|
||||
isMaintenance := reportComputedMaintenance(appName) == "true"
|
||||
|
||||
appJSON, err := appjson.GetAppJSON(appName)
|
||||
if err != nil {
|
||||
@@ -82,10 +83,11 @@ func FetchCronEntries(appName string) ([]TemplateCommand, error) {
|
||||
}
|
||||
|
||||
commands = append(commands, TemplateCommand{
|
||||
App: appName,
|
||||
Command: c.Command,
|
||||
Schedule: c.Schedule,
|
||||
ID: GenerateCommandID(appName, c),
|
||||
App: appName,
|
||||
Command: c.Command,
|
||||
Schedule: c.Schedule,
|
||||
ID: GenerateCommandID(appName, c),
|
||||
Maintenance: isMaintenance,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -32,9 +32,9 @@ func CommandList(appName string, format string) error {
|
||||
}
|
||||
|
||||
if format == "stdout" {
|
||||
output := []string{"ID | Schedule | Command"}
|
||||
output := []string{"ID | Schedule | Maintenance | Command"}
|
||||
for _, entry := range entries {
|
||||
output = append(output, fmt.Sprintf("%s | %s | %s", entry.ID, entry.Schedule, entry.Command))
|
||||
output = append(output, fmt.Sprintf("%s | %s | %t | %s", entry.ID, entry.Schedule, entry.Maintenance, entry.Command))
|
||||
}
|
||||
|
||||
result := columnize.SimpleFormat(output)
|
||||
|
||||
@@ -83,9 +83,10 @@ func generateCronEntries() ([]cron.TemplateCommand, error) {
|
||||
|
||||
id := base36.EncodeToStringLc([]byte(strings.Join(parts, ";;;")))
|
||||
command := cron.TemplateCommand{
|
||||
ID: id,
|
||||
Schedule: parts[0],
|
||||
AltCommand: parts[1],
|
||||
ID: id,
|
||||
Schedule: parts[0],
|
||||
AltCommand: parts[1],
|
||||
Maintenance: false,
|
||||
}
|
||||
if len(parts) == 3 {
|
||||
command.LogFile = parts[2]
|
||||
@@ -106,7 +107,7 @@ func generateCronEntries() ([]cron.TemplateCommand, error) {
|
||||
|
||||
for result := range results {
|
||||
c := result
|
||||
if len(c) > 0 {
|
||||
if len(c) > 0 && !c[0].Maintenance {
|
||||
commands = append(commands, c...)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,10 +266,17 @@ func TriggerSchedulerDeploy(scheduler string, appName string, imageTag string) e
|
||||
|
||||
workingDir := common.GetWorkingDir(appName, image)
|
||||
|
||||
cronEntries, err := cron.FetchCronEntries(appName)
|
||||
allCronEntries, err := cron.FetchCronEntries(appName)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error fetching cron entries: %w", err)
|
||||
}
|
||||
// remove maintenance cron entries
|
||||
cronEntries := []cron.TemplateCommand{}
|
||||
for _, cronEntry := range allCronEntries {
|
||||
if !cronEntry.Maintenance {
|
||||
cronEntries = append(cronEntries, cronEntry)
|
||||
}
|
||||
}
|
||||
|
||||
domains := []string{}
|
||||
if _, ok := processes["web"]; ok {
|
||||
|
||||
Reference in New Issue
Block a user