BotのAPIリクエストが有料となり失敗
いくつか持っているTwitter(X)アカウントでBotbirdを使ってBot投稿をしているのですが、Botが止まっているものがあったので、Botbirdの管理画面を見てみると、
402 Payment required
と表示されており、Twitterからのお知らせを見逃していたのですが、APIの利用が有料になっていて、付与されていた無料のクレジットを使い果たしていたためと分かりました。
止めたくないBotのリクエスト数を絞る
これを機にいくつかはそのままBot停止にしようと思うのですが、止めたくないのもあり、とはいうものの今までのような無制限の投稿では、出費が嵩むので、投稿数を絞ってみることにしました。
Bitbirdで使っているBot
①定期(ランダム)ボット
②RSSボット
の2つ
それぞれのBotのリクエスト数削減対応
定期(ランダム)ボット
→投稿間隔を6時間から10時間に
毎日2時間づつ投稿時間がずれますが、下のRSSボットの方が書いた通り、動いたり動かなかったりになるので、何となくこちらの時間を固定したくなかったため、あえてずらしています。
RSSボット
Plaggerでの調整
→読み込ませるRSSはPlaggerで複数のRSSを1つのRSSにする毎時Cronで生成していたのですが、
未だにfeedをまとめるのにPlaggerを使っていますが(2011/10/17の投稿) | TRAINING GROUNDS
そのCron実行を毎時実行ではあるのですが、ランダムに20%の確率で実行するようなちょっと面白いやり方で節約することにしました。
【後で読む】Cronをランダムに実行させる | TRAINING GROUNDS
また、定期(ランダムボット)は1投稿につき、1リクエストを消費するようなのですが、
RSSボットはその時に投稿された数(かず)ぶんのリクエストを消費してしまうようだったので、Plaggerで1つのRSSにする時から遡って1時間以内に投稿された記事だけを対象にすることにしました。
せっかく20%の確率を潜り抜けても、直近1時間前に投稿されたブログが無ければ、スルーという。。。
あまりにスカリ続けるのもあれなので、BotbirdのRSSクローラー?がどうやらAM11時に動いているっぽいことから、1日1回AM10:45だけは必ず、PlaggerのRSSまとめを動かすことにしました。
まぁ、20%でも続けて当たって、かつ時間内の記事もあると、結局1日の合計リクエスト数が増えてしまいそうですが、流行りのガチャ感覚の仕組みも楽しいかなと。
いったん、これで様子をみてみようと思います。2か月5ドル(500リクエスト)ぐらいが目標です。
