Google App Engineで作ったTwitter botの反応を早くする
最近Google App Engine(GAE)でtwitter botをまた作っています。
当初は定期的にcronでbotを5分おきに動かしていたのですが、そうするとbotのアカウントに対して送られて来たリプライに対して反応をするのに最長で5分の時間を要してしまいます。そこで、リプライ通知のメールを活用することにしました。
twitter上でリプライが来ると、登録されているメールアドレスで通知メールを受信することができます。
GAEはメールの送受信をサポートしているので、そのメールをGAEのbotに対して転送し、それをきっかけにbotを動かせば、リプライに対して素早く反応ができます。
Twitter→Gmail→botという流れですね。
実際にこの方法で試したところ、きちんと計測してはいませんが、反応するのに3〜10秒しか掛かりませんでした。
しばらくアクセスがないと、GAE上でインスタンスを生成するのに数秒時間がかかってしまいますが、その場合でも10秒程度だったので十分実用的な方法ではないでしょうか。
通知メールが来なかった時の事も考えて、5分おきに自動的にプログラムを実行するのと合わせて使用すると信頼性が高くなります。
#たまたま思いついた事を書いただけなので、もしかすると当たり前の方法だったりするかもしれませんが…