Skip to content

Error parsing cron schedule on Linux/arm64 #528

Open
@ignazio-ingenito

Description

@ignazio-ingenito

I got this error on Docker using linux/arm64, on linux/amd64 everything is working fine

Cron schedule: "* * * * *"
2024/09/04 04:15:34 failed to parse int from "*: strconv.Atoi: parsing "\"*": invalid syntax
panic: failed to parse int from "*: strconv.Atoi: parsing "\"*": invalid syntax

Try to do

func Setup(f func()) (*cron.Cron, error) {
	// Set the timezone
	loc, err := time.LoadLocation("Europe/Rome")
	if err != nil {
		log.Panicln(err)
	}

	// Set the cron schedule
	schedule := os.Getenv("APP_CRON_SCHEDULE")
	if schedule == "" {
		schedule = "0 */4 * * *"
	}
	fmt.Println("Cron schedule: " + schedule)

	// Create the cronjob
	token := strings.Split(schedule, " ")
	c := &cron.Cron{}
	if len(token) == 6 {
		c = cron.New(cron.WithSeconds(), cron.WithLocation(loc))
	} else {
		c = cron.New(cron.WithLocation(loc))
	}
	// Add a job to the cron
	id, err := c.AddFunc(schedule, f)
	if err != nil {
		log.Panicln(err)
	}
	log.Printf("Cron id: %d\n", id)

	// Start the cron
	c.Start()
	return c, nil
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions