bot用にPHPを定期実行しているcronのおはなし。
もうずっと、不安定というかなんというか、「勝手に非アクティブになる」という面倒を抱えていて、頻繁にチェックしてオフになってたら手動でアクティブにしにいく、という手間をかけていたんだけれど。
1日に5回の定時ポストとか、20分に1回の定期ポストとかは平気で、「もし自分宛の@があったらレスをする」を2分おきに実行させているcronがよく死んでいる。
出先で、このレス機能が止まっているのに気づいても、パソコンからじゃないとcron-jobにアクセスできないから家に帰るまでは、いくらbotに話しかけても華麗にスルー状態。
せっかくbotと遊んでくれようとしている人がいるのに、残念なことだなあと思いつつ、でも仕方ないのかなあと諦めかけていたんだけれど。


昨日の夜、唐突にひらめいた。


2分おきにcron実行しているこの間隔が頻繁すぎて死んでいるのなら、同じPHPを4分おきに実行するcronを2つ設定して、交互に動かせばいいんじゃないだろうか、っていう!!
兼六園シャトルとまちバスはそれぞれ20分に1本運行だけど時間が10分ずれてるから、街中移動するときはほぼ10分に1本の100円バスが走ってるようなもん、みたいな……!(非常に地域限定な比喩)
というわけで、同じ「2分以内の自分宛@にレスする」PHPを、4分おきに実行するcronを2つ、交互に。試験運用中です。二重投稿とか、そんな不具合は今のところない。
このまま3〜4日やってみてcronがダウンしないようなら続行。というかPHP配布元の掲示板に情報提供してこよう…。たぶん、同じような不便をしている人が他にもいる。
それでもだめなら6分おき実行でcron3つ、とかでも。
やっぱり、話しかけて返事があるまでのタイムラグは短い方が良いしなあ。


PHPはもう自分で手を加えるのは諦めたので、人に改変してもらったものとかを組み込むくらいで。
あとはもう単語の指定の仕方とか、リアクションのバリエーションを増やすとか、同じ作品のキャラbotを常にチェックしているとか、可及的速やかにフォロー返しをするとか、自分ができるのはこれくらい。あとは今回みたいにcronの設定でなんとかしてみるとか。


今、時間帯によって読み込むファイルを別個に指定する改変をみつけたので試してみたいところ。
たとえば朝に「眠い」って言われるのと、夜中に「眠い」って言われるのとで反応を変えると、より良いのではないかなー、と確かに思っていた。



botはついにフォロワさんが120人を超えました。ありがとうございます、って、ここに書いても伝わらないんだけど、でも、ありがとうございます。