あらまし
Go言語で一定時間ごとにタスクを実行するデーモンを作るときに
go-scheduler を使いました。
名前のせいか、検索してもほとんど出てこないのですが、使用感は悪くなかったので、紹介したいと思います。
使い方
godoc 見ればいいんですが、それだと記事の意味がほとんどないので紹介を。
func main() {
job := func() {
fmt.Println("Time's up!")
}
scheduler.Every(5).Seconds().Run(job) // 5秒ごと
scheduler.Every().Day().Run(job) // 毎日(のどこか)
scheduler.Every().Sunday().At("08:30").Run(job) // 日曜朝8:30に
}
競合(?)するgocron と機能は大体同じかなと。
ただ、あっちは入力を文字列としてとるので、いちいちSprintf()
する必要があるのがネックで、
こちらは変数とか直に取れる。
最小単位もgocron
と同じく秒です。
まとめ
go-scheduler
を紹介しました。
Go言語で定時処理をするなら、gocron
よりこちらを使ってみるのもよいかもしれません。