10周年のSPコンテンツ!

UserStreamとREST APIのジレンマ

UserStreamでエラー発生時にどのようにしてハンドリングをしているか、REST APIの切り替えをどうしているか、興味深かったので備忘録としてトゥギャりました。
API Twitter
3
KOIZUKA, Akihiko @koizuka
夜フクロウのStreamsの更新が止まっているので自動更新をoffにした
ビーダイ@ 横浜 @BeDai
最近ちょくちょく止まりますよね。困る。( @aki_null ) RT @koizuka: 夜フクロウのStreamsの更新が止まっているので自動更新をoffにした
KOIZUKA, Akihiko @koizuka
@BeDai いやまあ夜フクロウのせいかどうかってのはあるけど。どっちかというとtwitter側のstreams apiが死んでるんじゃないかなあ
KOIZUKA, Akihiko @koizuka
twitter のStreams API(timeline部分)が死んでいるような観測をしたら、自動的に旧式APIで比較情報取得して、アラート出して切り替える動作をするといいんだろうか
FX-702P @fx702p
@koizuka TweenはUserStreamsが切れたら旧来のAPIでの取得に戻りますね。
Mocel @Mocel
@koizuka たいていコネクションは生きてて ping 的なパケットは流れてくるので、死活判断は非常に困難なのです。
KOIZUKA, Akihiko @koizuka
おおさすが RT @fx702p: @koizuka TweenはUserStreamsが切れたら旧来のAPIでの取得に戻りますね。
Mocel @Mocel
夜フクロウさんだって User Streams が「切断」されたらちゃんとリカバリーされるよ!Tween だけの話じゃないよ!
KOIZUKA, Akihiko @koizuka
@Mocel うん、なので「timelineが」という言い方で、自分のフレンドタイムラインの新規メッセージの到達間隔を見るイメージで書いていた
KOIZUKA, Akihiko @koizuka
夜フクロウのリアルタイム更新をonにしなおしたら流れてきた
ビーダイ@ 横浜 @BeDai
ほほう。今度止まった時は試してみよう。 RT @koizuka: 夜フクロウのリアルタイム更新をonにしなおしたら流れてきた
Mocel @Mocel
@koizuka 流速の速いユーザーのほうがレアですからねぇ…5 分以上とか猶予見るなら、たぶん手動で切り替えてもらったほうが「障害」への対応としては正しい気もします。
KOIZUKA, Akihiko @koizuka
@Mocel どうやら今回は夜フクロウ側が調子悪いような感じだったので、Streamsそのものが調子悪いわけではないか、あるいはちょっと調子悪いときのリカバーが足りない感じなんだろうか。
KOIZUKA, Akihiko @koizuka
@Mocel twitter自体はよく不安定になるから、それをいかにカバーするか、というのがクライアントアプリに「できる」一つの側面ではあるなーと。
Mocel @Mocel
@koizuka User Streams が沈黙してたら REST API に切り替えて、かつ時々 Streams の復活も確認する、的なリカバリーはできると思います。どのクライアントもまだ備えてない機能ですけど。
ネコルソン @neconeco64
@Mocel 沈黙の検出が難しいんですよね
KOIZUKA, Akihiko @koizuka
@Mocel 前半はtweenがすでにやってるって話をさっきしてた。さらに自動復帰までやったら最高ですなあ
Mocel @Mocel
@koizuka Tween さんがやってるのも「切断」されたらの話で、User Streams はほぼ切断されることがないので夜フクロウさんと事情は同じです。
KOIZUKA, Akihiko @koizuka
お、なるほど RT @Mocel: @koizuka Tween さんがやってるのも「切断」されたらの話で、User Streams はほぼ切断されることがないので夜フクロウさんと事情は同じです。
Mocel @Mocel
夜フクロウさんの User Streams 切断時の復帰処理はものすごくしっかりしてると思う。公式のガイドラインにきっちり沿った、お行儀のいい振る舞いをしてるんじゃないかしら。Tween さんも。
ネコルソン @neconeco64
不安定なついったーへの対策をしようとするとUserStreamやAPIの利用ガイドラインから逸脱するジレンマ
ネコルソン @neconeco64
RESTとUSの同時使用はガイドラインで禁止されてる RESTでしか取得できないものはこの限りではない
ネコルソン @neconeco64
同時に動かすのが一番楽で確実なんだがな
Mocel @Mocel
@neconeco64 US から REST への移行はなんとかできても、REST から US への復帰処理を安定化させるのがもうアレです。US のトラブルが続いてたら、また適当な時間待って REST に移行することになりますし。
Mocel @Mocel
ていうか、REST API に切り替えてから User Streams への復帰処理って合理的に書けるんだろうか。ポーリング処理しかないんじゃないかしら。もちろんその間 REST API は使用不可。

コメント

コメントがまだありません。感想を最初に伝えてみませんか?

ログインして広告を非表示にする
ログインして広告を非表示にする