在CentOS上使用Golang實現定時任務,你可以使用以下兩種方法:
time
包:在Golang中,你可以使用time
包來實現定時任務。下面是一個簡單的示例:
package main
import (
"fmt"
"time"
)
func main() {
ticker := time.NewTicker(2 * time.Second)
defer ticker.Stop()
for {
select {
case <-ticker.C:
fmt.Println("執行定時任務:", time.Now())
}
}
}
這個示例中,我們創建了一個每2秒執行一次的定時任務。你可以根據需要調整時間間隔。
robfig/cron
:robfig/cron
是一個功能強大的Golang定時任務庫,它提供了類似于Unix cron的功能。首先,你需要安裝這個庫:
go get github.com/robfig/cron/v3
然后,你可以使用以下示例代碼創建一個定時任務:
package main
import (
"fmt"
"github.com/robfig/cron/v3"
)
func main() {
c := cron.New()
// 添加一個每2秒執行一次的任務
_, err := c.AddFunc("@every 2s", func() {
fmt.Println("執行定時任務:", time.Now())
})
if err != nil {
fmt.Println("添加定時任務失?。?quot;, err)
}
c.Start()
// 阻塞主線程,讓定時任務繼續執行
select {}
}
這個示例中,我們使用@every
語法添加了一個每2秒執行一次的任務。你可以根據需要調整時間間隔和任務邏輯。
注意:在使用robfig/cron
庫時,請確保你的程序在運行過程中不會退出,否則定時任務將停止執行。你可以使用select {}
來阻塞主線程,讓程序持續運行。