LoginSignup
26
16

More than 5 years have passed since last update.

Go で cronしたいなら go-scheduler がいいかも

Posted at

あらまし

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よりこちらを使ってみるのもよいかもしれません。

26
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
16