Cron jobs are tasks which run on a predefined schedule. Vikunja uses these through a light wrapper package around the excellent github.com/robfig/cron package.
The package exposes a cron.Schedule
method with two arguments: The first one to define the schedule when the cron task should run, and the second one with the actual function to run at the schedule. You would then create a new function to register your the actual cron task in your package.
A basic function to register a cron task looks like this:
func RegisterSomeCronTask() {
err := cron.Schedule("0 * * * *", func() {
// Do something every hour
}
}
Call the register method in the FullInit()
method of the init
package to actually register it.
Schedule Syntax #
The cron syntax uses the same on you may know from unix systems.
It is described in detail here.