feat: only write cron entries when working on docker-local scheduler

This commit is contained in:
Jose Diaz-Gonzalez
2025-03-09 05:51:27 -04:00
parent 398a78b2f6
commit b663f71878
6 changed files with 16 additions and 6 deletions

View File

@@ -115,7 +115,12 @@ func generateCronEntries() ([]cron.TemplateCommand, error) {
return commands, nil
}
func writeCronEntries() error {
func writeCronEntries(scheduler string) error {
// allow empty scheduler, which means all apps (used by letsencrypt)
if scheduler != "docker-local" && scheduler != "" {
return nil
}
commands, err := generateCronEntries()
if err != nil {
return err

View File

@@ -15,7 +15,8 @@ trigger-scheduler-docker-local-post-delete() {
# remove all application containers
"$DOCKER_BIN" container ls --filter "label=com.dokku.app-name=${APP}" -q | xargs -n1 -I {} "$DOCKER_BIN" container rm --force {} &>/dev/null || true
plugn trigger scheduler-cron-write
local DOKKU_SCHEDULER="$(get_app_scheduler "$APP")"
plugn trigger scheduler-cron-write "$DOKKU_SCHEDULER" "$APP"
}
trigger-scheduler-docker-local-post-delete "$@"

View File

@@ -7,7 +7,8 @@ trigger-scheduler-docker-local-post-deploy() {
declare trigger="post-deploy"
declare APP="$1"
plugn trigger scheduler-cron-write
local DOKKU_SCHEDULER="$(get_app_scheduler "$APP")"
plugn trigger scheduler-cron-write "$DOKKU_SCHEDULER" "$APP"
}
trigger-scheduler-docker-local-post-deploy "$@"

View File

@@ -50,6 +50,8 @@ trigger-scheduler-docker-local-scheduler-stop() {
"$DOCKER_BIN" container rm --force $DOKKU_APP_CIDS &>/dev/null || true
fi
fi
plugn trigger scheduler-cron-write "$DOKKU_SCHEDULER" "$APP"
}
trigger-scheduler-docker-local-scheduler-stop "$@"

View File

@@ -19,7 +19,8 @@ func main() {
var err error
switch trigger {
case "scheduler-cron-write":
err = schedulerdockerlocal.TriggerCronWrite()
scheduler := flag.Arg(0)
err = schedulerdockerlocal.TriggerCronWrite(scheduler)
default:
err = fmt.Errorf("Invalid plugin trigger call: %s", trigger)
}

View File

@@ -1,6 +1,6 @@
package schedulerdockerlocal
// TriggerCronWrite force updates the cron file for all apps
func TriggerCronWrite() error {
return writeCronEntries()
func TriggerCronWrite(scheduler string) error {
return writeCronEntries(scheduler)
}