M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2011年11月 8日 15:34

Mojolicious::LiteのWebSocketのタイムアウトは15秒

このエントリーをはてなブックマークに追加 mixiチェック

(2013.3.6 13.38 変更)

このエントリのタイトルを、
旧)Mojolicious::LiteのWebSocketのタイムアウトは300秒
新)Mojolicious::LiteのWebSocketのタイムアウトは15秒

に直しました。

〜〜〜

2011年11月26日のイベントに合わせて、自発的にWebSocketを使ったサイトを作ろうと思っており、本番に合わせて、ハッシュタグを設定してテストを行っているのですが、流量が少ないせいで、WebSocket接続がタイムアウトになることが判明。これはあかん。

Mojolicious::Liteを使っている時は、

my $timeout = app->ua->websocket_timeout;

でタイムアウトの時間が得られ、300秒となっとる。

これを、

app->ua->websocket_timeout(30);

とかに設定してテストをするも、相変わらず300秒で切れる。

というわけで、どこでタイムアウトを設定するかがわからん状況です。また調べなおししないと......


(2013-03-06 13:28追記)

更新終了のブログに追記っていうのもなんですが、今の時点で使っているMojolicious 3.50あたりだと、デフォルトのタイムアウトが15秒になっていまして、これを変更するには、

Mojolicious::Lite で WebSocketのタイムアウトの時間を修正する - 僕の車輪の再発明 [kazuph.hateblo.jp]

にあるように、

my $clients = {};
websocket '/echo' => sub {
    my $self = shift;
 
    # デフォルトだとタイムアウトが15秒なのを300秒に修正
    Mojo::IOLoop->stream($self->tx->connection)->timeout(300);
     
   ...
 
}

でいけます。

投稿 大野 義貴 [Linux] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3764

コメントする