cron icon indicating copy to clipboard operation
cron copied to clipboard

strip monotonic clock

Open iikira opened this issue 5 years ago • 2 comments

https://golang.org/pkg/time/#hdr-Monotonic_Clocks

Use monotonic clock may not accurately measure elapsed time.

iikira avatar Feb 21 '20 08:02 iikira

I don't understand the purpose or effect of your change. And all changes require unit tests. Can you explain what you are trying to accomplish? Thanks

robfig avatar Feb 29 '20 19:02 robfig

I run this code on my Android device, doing something between 6am and 10pm.

package main

import (
	"log"

	"github.com/robfig/cron/v3"
)

func main() {
	c := cron.New()
	c.AddFunc("*/1 6-22 * * *", func() {
		// do something
		log.Println()
	})
	c.Run()
}

The running result is not correct. For example, the task stop running at 22:59:00, but task didn't run at 6:00:00 currectly in the next day. The task delayed for several hours, may running at 2pm, or 11pm.

But running this code on my Linux server, the result is correct.

I think it was mainly caused by using monotonic clocks to mesure time. In some devices, such as mobile phone, laptop, the operation system may go to sleep, and the monotonic clocks will stop.

iikira avatar Mar 02 '20 05:03 iikira