にあるように簡単に書くことができます。
Akka.system().scheduler().schedule(
Duration.create(0, TimeUnit.MILLISECONDS), //Initial delay 0 milliseconds
Duration.create(30, TimeUnit.MINUTES), //Frequency 30 minutes
testActor,
"tick",
Akka.system().dispatcher()
);
ここにある例を参考に自分でも定期実行する処理を書いてみたのですが、どうやら上手く動いていなかった様子。
上手く動かなかったケース
Akka.system()
.scheduler()
.schedule(Duration.create(0, TimeUnit.SECONDS),
Duration.create(15, TimeUnit.MINUTES), getAnalyze,
Akka.system().dispatcher());
動くように修正したケース
Akka.system()
.scheduler()
.schedule(Duration.create(1, TimeUnit.SECONDS),
Duration.create(300, TimeUnit.SECONDS), getAnalyze,
Akka.system().dispatcher());
もともと下のパターンは動いていたので、バグなのか分単位だと動作しない仕様なのかよくわかりませんが、とりあえず動くようになりました。
Akka.system()
.scheduler()
.schedule(Duration.create(0, TimeUnit.SECONDS),
Duration.create(1, TimeUnit.HOURS), getFeed,
Akka.system().dispatcher());
0 件のコメント:
コメントを投稿