問題タブ [eventmachine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - IMAP アイドルはどのように機能しますか?
誰かが IMAP IDLE の仕組みを説明してくれませんか? 開く接続ごとに新しいプロセスをフォークしますか? どうにかして eventmachine を使用できますか?
バックグラウンドワーカーを使用してherokuのルビーに実装しようとしています。何かご意見は?
ruby - Ruby Eventmachine で (大きな) ファイルを書き込む方法
eventmachine の非エコーサーバーの例を見つけるのに数日を費やしましたが、何もないようです。ファイルを受け入れてTempfileに書き込むサーバーを書きたいとしましょう:
ファイルに書き込むとリアクタがブロックされますが、「Eventmachine スタイル」で行う方法がわかりません。データをチャンクで読み取り、各チャンクを Em.next_tick ブロック内のディスクに書き込む必要がありますか?
助けてくれてありがとう アンドレアス
sinatra - async_sinatra リクエストは、em-http でサイレントにクラッシュします。これを修正するにはどうすればよいですか?
次のコードがあります。
以下を発行すると、うまく機能します。
しかし、次のリクエストを発行すると、「h2」が出力され、アプリケーションはサイレントに終了します。
どんな助けでも大歓迎です。ありがとう!
ruby - EM-Synchrony 、em-http-request と fiber の関係を知りたいですか?
Web ページを同時ダウンロードしたいので、これらのライブラリを見つけました。
しかし、em-synchrony と em-http-request の関係を区別できませんか?
私は各リポジトリのgithubをチェックアウトしましたが、すべての例は自分自身に関するものであるようです.
しかし、いくつかの記事から、em-synchrony と em-http-request は一緒に使用できるようですが、関連するコードは見つかりませんでした
このデモコードの書き方、ありがとう
ruby - Ruby EventMachine + AMQP: 例外が発生する前に特定の非同期呼び出しが発生するようにする
Ruby で AMQP に基づくメッセージング システムを構築しています。ただし、エラー処理に問題があります。
安全な例外のホワイトリストを維持しており、RabbitMQ のメッセージは確認されずに別のワーカーによって再試行される可能性があります。ただし、不明または予期しないエラーの場合、ワーカーがメッセージを何度試行しても、常に同じエラーが発生すると想定しています。
つまり、不明なエラーが発生した場合は、それをキャプチャしてどこかに記録し (現在は MySQL)、ACK
RabbitMQ に呼び出しを送信してキューからメッセージを削除する必要があります。
現在、すべてが EventMachine でイベント化される amqp gem を使用して構築されています。これにより問題が発生し、メソッドが呼び出されますが、gem の非同期動作のおかげで、RabbitMQ に送信された#ack
わけではありません。ACK
以前、私はこの問題を回避するために、raise コードを .xml 内に大雑把に配置しましたEM.next_tick
。ここで、パフォーマンスのために各 Ruby ワーカーをマルチスレッド化する必要がありますが、next_tick
機能しません。
要するに:
amqp gem 内で非同期 ACK 呼び出しの直後に特定のコードを同期的に実行するにはどうすればよいでしょうか? コールバックがあればいいのですが、利用できるものはありません。少なくとも、深刻な悪意のあるモンキー パッチを適用しない限りはそうではありません。
ruby-on-rails - スクリプト/ランナー内で EventMachine を実行する
コマンド ラインから example.rb ファイルに示されているように、 em-dir-watcherを使用して成功しましたが、別のクラスからメソッドを呼び出す必要があることに気付いたので、代わりにスクリプト/ランナー ルートを選択し、Rails を呼び出しました。
サンプル コードをコピーして貼り付け、self.methodName 内に配置すると、次のエラーが発生しました。
myapp/vendor/rails/railties/lib/commands/runner.rb:48: EventMachine:Module の未定義メソッド `watch' (NoMethodError)
次のような完全に単純なものを実行しても、
スクリプト/ランナーを呼び出します。
それでもエラーが発生します。私は何を間違っていますか?
ip - リクエストを行うときにRubyでevent_machineを使用してIPにバインドする方法は?
一部の Web API にアクセスするアプリがありますが、IP によって制限されています。EM を使用して、専用サーバーで自分に割り当てられている別の IP にバインドするにはどうすればよいですか?
私はそれが次のように簡単であることを本当に望んでいます:
http = EM::HttpRequest.new(address).send(method, :query => params, :head => head, :timeout => 13, :redirects => 3, :ip_to_bind_to => '192.168.1.22')
rvm - シンを停止するとエラーが発生します
EventMachine内でEM.WebSocketを使用して小さなSinatraアプリを実行しています。
アプリを実行するためにthinをセットアップしましたが、thinを停止するコマンドを実行すると、エラーがスローされます。ここの小さな痕跡に基づいて、誰かがそれをきれいにするのを手伝ってくれるかどうか疑問に思っていました...
ruby - EventMachine - 後れを取っているかどうかをどのように判断できますか?
EventMachine を利用した twitter-stream rubygem を使用して、ツイートを追跡およびキャプチャすることを検討しています。私は、イベント化されたプログラミング全体に少し慣れていません。イベント ループで実行している処理が原因で遅延が発生しているかどうかを確認するにはどうすればよいですか? 簡単に確認する方法はありますか?
ruby - ruby の socket.io と eventmachine
非常に基本的なサーバー/クライアントのデモを試しています。クライアント(ブラウザのユーザー)でsocket.ioを使用し、サーバーのeventmachine Echoの例を使用しています。理想的には、socket.io がサーバーにリクエストを送信し、サーバーが受信したデータを出力する必要があります。残念ながら、何かが期待どおりに機能していません。
ソースはここに貼り付けられます:
ここにルビーコードがあります: