したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

Twitterbotのcronスレ

275名無しさん:2010/12/30(木) 09:17:38
おそらくですが、GAEのcronはそれほど正確に実行されるものでは無いと思います。

http://code.google.com/intl/ja/appengine/docs/java/config/cron.html#The_Schedule_Format

GAEのcron.xmlドキュメントには
「ジョブを指定された時間に繰り返し実行する必要が無く、同じ間隔で繰り返し実行する必要がある場合は、every N (hours|mins|minutes) を使用します。」
とあります。

ここに、「同じ間隔で繰り返し実行する」とありますが、これは
every 5 minutes
と記述したとして、それが0分,5分,10分,15分・・・・と起動をかけるものではなく、
前回の実行から5分経ったらという意味だと思われます。

しかも、「5分経ったら実行する」ではなく、「5分経ったら実行待ち行列(キュー)に登録する」のが実際の処理だと思います。
待ち行列に先客がいれば、それらが処理されるまで順番は回ってきません。
待ち行列が長ければそれだけ時間がかかります。

つまり、GAEのcronは正確な実行間隔を必要とする処理には不向きです。

それが「指定された時間に繰り返し実行する必要が無く」の示すところです。

では、他のcronサービスに乗り換えればいいかというと、無料CRONサービスではどこも同じようなものでしょう。むしろ、正確な動作をしているサービスでも、「xxのサービスが正確だよ」とか広まると、そこに日本からBOT作者が殺到し遅延が発生、一般の方に迷惑になるからと、日本人だけアカウント停止なんてことも”また”起こるかもしれません。

解決策は

1.cronの使える有料サーバーを借りる
2.自分でcronサーバーを立てる
3.GAE-cronがgoogleから停止処分くらわないだけありがたいと思って使う

のいずれかだと思います。
ちなみに私は1と2の併用です。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板