GAE/Jでcronが正常に実行されない問題?

というのが@oshirasesanで発生してたようです。
120分に1回時報を流すようにしてたんですが、今朝急に1分おきくらいに時報を連続で鳴らしてました。


ログを調べてみたら、

com.google.apphosting.api.ApiProxy$CapabilityDisabledException: The API call datastore_v3.Put() is temporarily unavailable.


というクリティカルなエラーが発生してました。
で、このエラーメッセージでぐぐって見ると以下のような現象が発生する可能性があるらしいとの事。

これは自分の勝手な想像ですが、
Google App Engineのcronにバグがあって、1分間隔に設定しておいても
ある日突然、1分間のうちに数十回連続で実行されることがあるような気がします。

これはあくまで予想です。

Google App Engineのcronは1分置きに設定しても実行は64〜65秒置きに行われ、
実際には4〜5秒の遅延が生じています。

キャラボットではこの遅延でとりこぼしがないように補正をしていますが、
実はGoogle App Engineさん的に、遅延分を取りも返すために
無理やりスタックにたまったCronタスクを一気に実行するタイミングがあるのでは
ないかと疑っています。

スレッド ヘルプ (!!!まずはWikiの「ボット作成に関わるよくある質問」を参照のこと!!!):サーバーが落ちている - charactorbot - OSDN


まぁ……cronもあまり信用しない方がいいみたいですね。