瀬戸内国際芸術祭2025・直島に行ってきました。 日帰りチャンスがあったので初めての瀬戸芸、直島へ! 直島は常設展示のものも多く、瀬戸芸開催期間中に行くことにこだわる必要はまったくないんだけど、この日程でしか無理だったので暑さ&混雑を覚悟の上で平日に行ってきました。思ってたより混雑はしておらず、思っ…

並列1000コネクションに耐える! Ruby のイベント駆動ライブラリ Rev と EventMachine の HTTPクライアント こんにちは、takada-at です。 Rubyのイベント駆動型ネットワークプログラミングフレームワーク Rev と EventMachine で HTTPクライアントを動かしてみました。 イベント駆動型ネットワークプログラミングフレームワークとは何か説明しだすと難しいですが、一言で言うと、以下のようになります。 # ふつうのフロー駆動型プログラム Net::HTTP.start(host, port){|http| res = http.get(path) #この処理が終わってから } puts "done" #この次の処理が実行される # イベント駆動型プログラム client = Rev::HttpClient::connect(host, port
_ [Ruby] Net::HTTP#open_timeout の使い方 #!/usr/bin/ruby require 'net/http' Net::HTTP.start('www.example.com') do |http| response = http.head('/heartbeat.txt') p response end (ruby) Net::HTTP で接続に失敗すると :!ruby heartbeat.rb /usr/lib/ruby/1.8/net/http.rb:560:in `initialize': Connection timed out - connect(2) (Errno::ETIMEDOUT) from /usr/lib/ruby/1.8/net/http.rb:560:in `open' from /usr/lib/ruby/1.8/net/ht
httpclient付属の「HTTPClient::Timeout」を使うと、処理が指定された期間で完了したかチェックして、完了しない場合エラーとする機能を簡単に実現できます。 同様の機能を提供する標準添付のライブラリとしてtimeout.rbがありますが、これと比較して以下の点が改善されているとのこと。 timeout()が呼ばれるごとにスレッドを生成しない。1スレッドですべてのチェックを行う。 timeoutチェック用スレッド?の起動回数が少ない。 別のスレッドを起動してチェックする点は同じなので、 「C 言語レベルで実装され、Ruby のスレッドが割り込めない処理には無力」なのは同じ(のはず)。 また、Thread#criticalを設定してスレッド切り替えを抑制した状態でも利用できません。(ThreadErrorになります。) なお、強制キャンセルの仕組みは「Thread#rais
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く