何となく作ってからはや3ヶ月が経ちました。
おさらい:PVをツイートするサービスとは
Google Analytics の PV を Twitter アカウントでツイートするサービスです。
去年の夏頃、しばやん氏が前日のPVをツイートするbotを作ってたのを見て、自分も作ってみたのがきっかけでした。
- Google Analytics API を使って前日の PV を取得するコードを C# で書いてみた - しばやん雑記
- Azure Webサイトとスケジューラーを使って前日の PV をツイートする仕組みを作ってみた - なか日記
しばらくオレオレで運用してましたが、どうせならWebサービス化した方がおもしろいかなと思い、作ったのが今年の8月くらいですね。
そんなわけで、PVをツイートするサービスの今をお知らせします(誰得
利用者
15人くらい使ってもらってます。
安定性
大したことしてないのでそれなりに安定してますが、時々、2連続でツイートされる人がいた気がします。
原因
2連続でツイートされる原因ですが、実装方法がいまいちでした。具体的には下の2つが組み合わさって起きてた感じ。
- スケジューラからツイートするWeAPIをつついていた
- 並列で処理してない
利用者が少ない*1うちは良かったのですが、並列で処理してないので全員のツイートが終わるのに1分そこそこかかってました。
その為、スケジューラからのアクセスがタイムアウトして、自動的にリトライされてたんですね。
リトライされたとき、既に1回目でツイートができてる人は大抵「Status is a duplicate.」のエラーになるのですが、なぜがエラーにならず、ツイートされてしまうことがありました。これはTwitter側の話なのでよくわかりません。
対処した
上記の問題ですが、処置しました。
「やっぱ、自前でWeAPIをつつくのってかっこ悪いよね」ってことで、Web ジョブ使うように変更してます。
これで2連投問題はなくなるはず。
抱えている問題点
使ってみた人は気付いていると思いますが、1つのTwitterアカウントに対して1サイトしか対応していません。それは意識してました。
じゃぁ、2つのサイトのPVをツイートしたいときはTwitterアカウントを2つに分ければいいじゃんってことになりますが、それでもうまくいかない場合があります。 今の仕様だと、Googleアカウントも分けないといけません。
さすがにそれは・・・
ってことで、ぼちぼち対応したいと思います。
(某氏のアカウントでツイートできてるのは私が手作業で処置したから…)
収益
今までの収益は多分、1円くらいだと思います。
一度設定したら、基本的に放置してればいいので広告出しても殆ど意味がありません。はい。
あわせて読みたい?
おしまい。
*1:今も多いとはいえないけど