天天看點

go定時任務croncron舉例說明下載下傳安裝實際應用

cron舉例說明

每隔5秒執行一次:*/5 * * * * ?
每隔1分鐘執行一次:0 */1 * * * ?
每天23點執行一次:0 0 23 * * ?
每天淩晨1點執行一次:0 0 1 * * ?
每月1号淩晨1點執行一次:0 0 1 1 * ?
在26分、29分、33分執行一次:0 26,29,33 * * * ?
每天的0點、13點、18點、21點都執行一次:0 0 0,13,18,21 * * ?      

下載下傳安裝

控制台輸入 go get github.com/robfig/cron 去下載下傳定時任務的Go包,前提是你的 $GOPATH 已經配置好

實際應用

package main

import (
	"fmt"
	"github.com/robfig/cron"
	"time"
)

func main() {
	c := cron.New()
	err := c.AddFunc(`0/10 * * * * *`, testToDo())
	if err != nil {
		fmt.Println("err", err.Error())
	}
	//特殊用法
	err = c.AddFunc(`@hourly`, testToDo())
	c.Start()
	time.Sleep(time.Minute)
}

func testToDo() func() {
	count := 1
	return func() {
		now := time.Now()
		fmt.Println("現在時間", now, ",第", count, "次")
		count++
	}
}
           

運作結果

go定時任務croncron舉例說明下載下傳安裝實際應用

參考資料

https://www.cnblogs.com/zuxingyu/p/6023919.html