UserStreamとREST APIのジレンマ

UserStreamでエラー発生時にどのようにしてハンドリングをしているか、REST APIの切り替えをどうしているか、興味深かったので備忘録としてトゥギャりました。
3
KOIZUKA Akihiko @koizuka

夜フクロウのStreamsの更新が止まっているので自動更新をoffにした

2011-04-18 12:32:42
ビーダイ@VTuber風味 @BeDai

最近ちょくちょく止まりますよね。困る。( @aki_null ) RT @koizuka: 夜フクロウのStreamsの更新が止まっているので自動更新をoffにした

2011-04-18 12:35:28
KOIZUKA Akihiko @koizuka

@BeDai いやまあ夜フクロウのせいかどうかってのはあるけど。どっちかというとtwitter側のstreams apiが死んでるんじゃないかなあ

2011-04-18 12:36:09
KOIZUKA Akihiko @koizuka

twitter のStreams API(timeline部分)が死んでいるような観測をしたら、自動的に旧式APIで比較情報取得して、アラート出して切り替える動作をするといいんだろうか

2011-04-18 12:37:31
FX-702P @fx702p

@koizuka TweenはUserStreamsが切れたら旧来のAPIでの取得に戻りますね。

2011-04-18 12:38:26
Mocel🪐🍀 @Mocel

@koizuka たいていコネクションは生きてて ping 的なパケットは流れてくるので、死活判断は非常に困難なのです。

2011-04-18 12:38:34
KOIZUKA Akihiko @koizuka

おおさすが RT @fx702p: @koizuka TweenはUserStreamsが切れたら旧来のAPIでの取得に戻りますね。

2011-04-18 12:38:43
Mocel🪐🍀 @Mocel

夜フクロウさんだって User Streams が「切断」されたらちゃんとリカバリーされるよ!Tween だけの話じゃないよ!

2011-04-18 12:39:31
KOIZUKA Akihiko @koizuka

@Mocel うん、なので「timelineが」という言い方で、自分のフレンドタイムラインの新規メッセージの到達間隔を見るイメージで書いていた

2011-04-18 12:41:15
KOIZUKA Akihiko @koizuka

夜フクロウのリアルタイム更新をonにしなおしたら流れてきた

2011-04-18 12:44:06
ビーダイ@VTuber風味 @BeDai

ほほう。今度止まった時は試してみよう。 RT @koizuka: 夜フクロウのリアルタイム更新をonにしなおしたら流れてきた

2011-04-18 12:45:05
Mocel🪐🍀 @Mocel

@koizuka 流速の速いユーザーのほうがレアですからねぇ…5 分以上とか猶予見るなら、たぶん手動で切り替えてもらったほうが「障害」への対応としては正しい気もします。

2011-04-18 12:44:36
KOIZUKA Akihiko @koizuka

@Mocel どうやら今回は夜フクロウ側が調子悪いような感じだったので、Streamsそのものが調子悪いわけではないか、あるいはちょっと調子悪いときのリカバーが足りない感じなんだろうか。

2011-04-18 12:46:21
KOIZUKA Akihiko @koizuka

@Mocel twitter自体はよく不安定になるから、それをいかにカバーするか、というのがクライアントアプリに「できる」一つの側面ではあるなーと。

2011-04-18 12:48:08
Mocel🪐🍀 @Mocel

@koizuka User Streams が沈黙してたら REST API に切り替えて、かつ時々 Streams の復活も確認する、的なリカバリーはできると思います。どのクライアントもまだ備えてない機能ですけど。

2011-04-18 12:55:59
ネコルソン @neconeco64

@Mocel 沈黙の検出が難しいんですよね

2011-04-18 14:20:09
KOIZUKA Akihiko @koizuka

@Mocel 前半はtweenがすでにやってるって話をさっきしてた。さらに自動復帰までやったら最高ですなあ

2011-04-18 12:56:36
Mocel🪐🍀 @Mocel

@koizuka Tween さんがやってるのも「切断」されたらの話で、User Streams はほぼ切断されることがないので夜フクロウさんと事情は同じです。

2011-04-18 12:57:22
KOIZUKA Akihiko @koizuka

お、なるほど RT @Mocel: @koizuka Tween さんがやってるのも「切断」されたらの話で、User Streams はほぼ切断されることがないので夜フクロウさんと事情は同じです。

2011-04-18 12:57:34
Mocel🪐🍀 @Mocel

夜フクロウさんの User Streams 切断時の復帰処理はものすごくしっかりしてると思う。公式のガイドラインにきっちり沿った、お行儀のいい振る舞いをしてるんじゃないかしら。Tween さんも。

2011-04-18 12:58:44
ネコルソン @neconeco64

不安定なついったーへの対策をしようとするとUserStreamやAPIの利用ガイドラインから逸脱するジレンマ

2011-04-18 14:21:31
ネコルソン @neconeco64

RESTとUSの同時使用はガイドラインで禁止されてる RESTでしか取得できないものはこの限りではない

2011-04-18 14:25:39
ネコルソン @neconeco64

同時に動かすのが一番楽で確実なんだがな

2011-04-18 14:26:25
Mocel🪐🍀 @Mocel

@neconeco64 US から REST への移行はなんとかできても、REST から US への復帰処理を安定化させるのがもうアレです。US のトラブルが続いてたら、また適当な時間待って REST に移行することになりますし。

2011-04-18 14:43:04
Mocel🪐🍀 @Mocel

ていうか、REST API に切り替えてから User Streams への復帰処理って合理的に書けるんだろうか。ポーリング処理しかないんじゃないかしら。もちろんその間 REST API は使用不可。

2011-04-18 14:44:37