How to run Cron jobs in Go?

Better Stack Team
Updated on October 5, 2023

To run Cron jobs in Go, you can use a Go package called robfig/cron. Here are the steps to create and schedule a Go program using robfig/cron:

🔭 Want to get alerted when your Cron doesn’t run correctly?

Go to Better Stack and start monitoring in 5 minutes.

Install robfig/cron

You can install robfig/cron using the Go Package Manager (go get) with the following command:

 
go get github.com/robfig/cron

Create a Go program

Create a Go program with the code you want to run as a Cron job. For example, let's say you want to print "Hello world!" every minute. You can create a Go program called cron.go with the following code:

 
package main

import (
    "fmt"
    "time"

    "github.com/robfig/cron"
)

func main() {
    c := cron.New()

    // Define the Cron job schedule
    c.AddFunc("* * * * *", func() {
        fmt.Println("Hello world!")
    })

    // Start the Cron job scheduler
    c.Start()

    // Wait for the Cron job to run
    time.Sleep(5 * time.Minute)

    // Stop the Cron job scheduler
    c.Stop()
}

This code uses robfig/cron to define a Cron job that runs every minute. The code inside the Cron job prints "Hello, World!" to the console.

Run the Go program

You can run the Go program using the following command:

 
go run cron.go

This will start the Cron job and run the code defined in the cron.go program. The Cron job will continue to run until you stop the Go program.

Verify the Cron job

You can verify that the Cron job is running by checking the output of the Go program. You should see "Hello world!" printed to the console every minute.

By following these steps, you can create and schedule a Go program to run as a Cron job using robfig/cron.

Got an article suggestion? Let us know
Explore more
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Make your mark

Join the writer's program

Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.

Write for us
Writer of the month
Marin Bezhanov
Marin is a software engineer and architect with a broad range of experience working...
Build on top of Better Stack

Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our email.

community@betterstack.com

or submit a pull request and help us build better products for everyone.

See the full list of amazing projects on github