タグ

anyeventに関するhide-Kのブックマーク (10)

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 502 Bad Gateway

    502 Bad Gateway nginx

  • AE::HTTP で HTTP::Request をなげるには - tokuhirom's blog

    HTTP::Request をつかって呼ぶのはそんなにむずかしい話ではない。という。たとえば、以下のようにすれば、普通によべる。 sub http_request_by_http_request { my $cb = pop @_; my ($req, @args) = @_; my %headers; $req->headers->scan(sub { $headers{$_[0]} = $_[1]; }); http_request($req->method, $req->uri, body => $req->content, headers => \%headers, @args, $cb); } ↓のようにしてもいいかも。$req->headers のあたりがちょっとアヤシイけど。 http_request($req->method, $req->uri, body => $req

  • Perl で作成した RabbitMQ 専用クライアントライブラリを AnyEvent と Coro で非同期化しました - cooldaemonの備忘録

    以前、AMQP と RabbitMQ を学ぶために RabbitFoot という名前の Perl 版のクライアントライブラリを作成したのですが、非同期化して欲しいと要望を頂いたので、AnyEvent と Coro を利用してみました。 AnyEvent と Coro は、今回、初めての利用となるため、識者からの厳しいツッコミがあると嬉しいです。 cooldaemon's RabbitFoot at master - GitHub Consume 用の Channel を五つ、Publish 用の Channel を一つ開き、Channel 間でメッセージを送受信する例は、下記の通りです。 use Coro; use RabbitFoot; my $rf = RabbitFoot->new()->load_xml_spec( '/path/to/fixed_amqp0-8.xml', )->

    Perl で作成した RabbitMQ 専用クライアントライブラリを AnyEvent と Coro で非同期化しました - cooldaemonの備忘録
  • CoroとAnyEventを一緒に使うならunblock_subを覚えておくべき - Pixel Pedals of Tomakomai

    以前に、 なお、(2)でフロントエンドの処理を書く時は(0)のバックエンドとは逆に、AnyEventは直接使わない方が無難だと思います。理由は、AnyEventのイベントループからはCoroの層の関数が使えないからです。 Coro::AnyEventでフロントエンドをコールバックを使わずに書く なんて書いてたので、多少追記を。 CoroとAnyEventの相性 これは、非常によいです。 Coroは use Coro::AnyEvent とか明示的にしなくても、内部でAnyEventを使っています。例えば、Coro::Timer::sleepは制御を他スレッドに渡してその後自分のスレッドに戻ってくるという動きをしますが、この「自分のスレッドに戻ってくる」という動作を、AnyEventのイベントループに預けたコールバックから自スレッドのreadyを呼んで起こしてもらうことで実現しています。 C

    CoroとAnyEventを一緒に使うならunblock_subを覚えておくべき - Pixel Pedals of Tomakomai
  • PSGI/Plackで非同期 Web Server - blog.nomadscafe.jp

    PSGI/Plackにおいて、非同期にレスポンスが返せるstreamingという仕様/機能が追加されました。 PSGI/Plack streaming is now complete これを使うと、streamingをサポートしたサーバから非同期/nonblockingにhttpやGearmanを利用して外部へ問い合わせを行い、その結果をレスポンスしたりできます。 また、これがPlackで既に実装済みなので、非常に短いコードでサーバの実装ができちゃいます。 すばらしいですね。 すでにmiyagawaさんが、この機能を利用した非同期Web Framework「Tatsumaki」を書かれています。 イベントを扱う部分が隠蔽されているので、これを使うとさらに簡単に実装できます。 すばらしすぐる。 ここでは、簡単に外部へAnyEvent::HTTPを用いて、HTTPリクエストを行うサンプルを書い

  • YappoLogs: AnyEvent で plagger-ircbot 的なのかいた

    AnyEvent で plagger-ircbot 的なのかいた AneEvent二日目なので plagger irc bot的に使えるのを書いてみた。 http://github.com/yappo/perl-anyevent-irc-message-proxy POEってのはIKCっていう便利なRPC的に便利に使えるのが有るんですが、まぁplagger irc bot的なのにはそんな大げさの物も要らないので、jsonでデータ送ったらその中身をirc serverにNOTICEで出してくれるのを書いてみた。 そもそもjsonにしなくても良いんだけど、jsonの中に発言したいchannelとか指定出来るように拡張する時とかのためですね。 このくらいだと別に直でAnyEventのコード書いても良い感じすなー plaggerのそれとはコードも比べ物にならない程適当なんですが、似たような処理をA

  • recursive blocking wait detected への対処 - Pixel Pedals of Tomakomai

    連休の非同期祭も(疲れたので)これでラストです。 AnyEvent(5.2)でこんなコード書くと、「recursive blocking wait detected」が出ます。 use strict; use warnings; use AnyEvent; sub main { foreach my $i (1 .. 5) { my $cv = AE::cv; my $t = AE::timer $i, 0, sub { $cv->send($i); }; print $cv->recv, "\n"; } } my $t = AE::timer 0, 0, \&main; AE::cv->recv; # 結果 # EV: error in callback (ignoring): AnyEvent::CondVar: recursive blocking wait detected at

    recursive blocking wait detected への対処 - Pixel Pedals of Tomakomai
  • YappoLogs: AnyEvent はじめ

    AnyEvent はじめ そろそろAnyEventでもやってみようと思ったので AntEvent::Handle いわゆるIOまわりの面倒を色々便利にやってくれる君。イベントベースなIOと言うよりかはevent queueなIOみたいな捉え方するとすんなり。 read/writeの処理はqueue的な感じで登録できるの。 ->push_read() で、どんどんqueueにreadイベントを登録してく。fhがreadableになったらread queueがどんどん処理されるってわけ。 ->unshift_read() だと、queueの先頭に突っ込んでく。 そう、まさしくperlのarrayへのpush/unshiftそのもの。AnyEvent::Introを読むとその辺の命名に関する思いが読める。 ->push_write() だと、writeイベントを登録してく。writeできるように

  • Coro and AnyEvent as good friend - tokuhirom's blog

    Coro → AnyEventCoro は AnyEvent に依存している(requires 扱い)。 Coro は ファイル/ソケット/etc の 読みこみ/書き込み待ち のときタイマを稼働させるときなどに AnyEvent を内部的につかっている。 ただし、Coro を純粋に co-routine としてつかう場合には Coro::AnyEvent は必要ないです。async { }->join() するだけなら必要ない。 ただ、Coro::* 系のモジュールはたいがいが Coro::AnyEvent つかってるので、co-routine としてつかう場合には AnyEvent がほとんど必須だとおもってまちがいないですます。 AnyEvent → CoroAnyEvent をイベントフレームワークとしてつかうだけならば、Coro をつかう必要はなく、単体で利用可能。単体ならば依存モ

  • 1