問題タブ [celluloid]
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 - Celluloid でプラグインの実行を並列化するにはどうすればよいですか?
私の質問は、私が正しい道を歩むのに役立つはずです。
コンカレント フレームワークを使用して ruby アプリケーションを開発していますcelluloid
。これがどのように見えるか:
私はいくつかのプラグインを持っています。それらを同時に実行し、最後のものが終了するまで待ちたいと思います。すべてのプラグインに継承され、メソッドPluginFrame
も提供するという抽象クラスがあります。run
- を作ろうと思ったの
SupervisionGroup
ですが、それでよろしいでしょうか? SupervisionGroup
を実行して、すべてのグループ メンバーが終了するまで待つにはどうすればよいですか?PluginPool
プラグインのプールを管理するために別のクラスを作成するのは良い考えですか?- サイズを制限することも興味深い
pool
ので、同時に実行できるプラグインは 2 つまたは 3 つだけです。どうすればこれを達成できますか?
ruby - 古い ruby での新しい gem のサポート (ここでは Celluloid)
バックポートなどを使用して、インストールされているものよりも高いバージョンの ruby を必要とする gem をインストールして使用することは可能ですか?
私は 1.8 で立ち往生しており、rspec との関係で celluloid gem に問題があります。Ruby 1.9.2以降のほとんど/すべての機能が利用可能になるため、バックポートを使用すると使用できるようになるのではないかと思いました。
ruby-on-rails - Meteor.js クライアントで Rails を DDP サーバーとして使用する方法
HTTP API のみを実行する Rails アプリがあります。クライアント側では、現在 Ember.js が使用されています。私たちは Ember にあまり感銘を受けておらず、Meteor.js のアプローチがとても気に入っています。したがって、クライアント側を Meteor.js と交換し、Data Distribution Protocol (DDP) を使用する websocket を介して Rails サーバーと通信することで、Rails のモデル、メーラー、およびコントローラーを引き続き使用できるようにします。DDP のサーバー側の実装は簡単なはずです。
ただし、Rails で websocket を使用する方法は不明です。スタンドアロン環境で websocket リクエストを簡単に受け入れることができる Reel を見つけました。とにかくセルロイドスタックの上にDDPを実装したいので、リールは素晴らしいようです。しかし、Rails 環境で Reel を実行する場合はどうでしょうか? そのために「レールランナー」が必要ですか?そして、既存のコントローラーを引き続き使用して、着信要求をディスパッチしたいと考えています (リソースの追加/変更/削除など)。リクエストがRackを経由しなくても、それは可能ですか?
どんな入力でも大歓迎です。
ruby - Celluloid Actorでn秒ごとにブロックを呼び出す方法は?
&block をパラメーターとして受け入れ、n 秒ごとに実行できるセルロイド アクターを作成しようとしています。しかしcall
、ループ内からブロックするevery
と、何もしないように見えますか?
このクラスの例を見てみましょう:
次のことを試してみると:
次に、この紛らわしい出力が得られます。
execute_block
ブロックの外側から初めて呼び出すと、正常に動作し、タイマーが正しく動作every
していることがわかります...しかし、ブロックは毎回呼び出されるわけではありませんか?every
私が間違っていることに光を当てることができる人はいますか?
更新:をputs "tock"
下に移動する@block.call
と、出力がまったく得られないことに気付きました...?
ruby - セルロイドタスクは終了しました
bundle exec guard
Guard を使用している場合、cygwin で実行すると次のエラーが発生します。この問題以外に、このエラーについてはあまり見つけられないようです:
スタック レベルが深すぎる (SystemStackError) · 問題 #172 · ガード/リッスン · GitHub
誰か原因を知っていますか?または、Guard が cygwin で動作するかどうかは?
私のガードファイル:
どんな助けでも大歓迎です!
ruby - Celluloid で「タスクの終了」メッセージを停止するにはどうすればよいですか?
URLから読み取り、データを取得するワーカーがあります。したがって、プールを使用して、10 個の同時ワーカーの同時実行を実現しています。
上記のコードを some_name.rb という名前のファイルに配置して実行すると、次のようになります。
D, [2014-05-09T10:15:06.061071 #6588] DEBUG -- : 15 人のアクターを終了中... W, [2014-05-09T10:15:06.063755 #6588] WARN -- : 終了タスク: type=:ファイナライザー、meta={:メソッド名=>:シャットダウン}、ステータス=:callwait
私の質問は、これらのメッセージを一時停止するにはどうすればよいですか? begin..rescue でラップしても役に立ちません。また、警告が表示されるのはなぜですか。コードに何か問題がありますか?
ありがとう!
ruby - Ruby の短縮形、Artoo.io
artoo.ioロボットの上部で何が起こっているかについての説明を探しています。この例の先頭には、キーボード ドライバーを使用した宣言があります。
省略形/代替構文が表示されているようですが、その省略形の説明が欲しいです。代替ハッシュ構文を理解しています: :adapter => :keyboard
.
上記の最後の 2 行のコードでは何が行われているのでしょうか? とはconnection
? artoo
初期化されているのは内部のクラスですか?なぜないのnew
ですか?どこ:keyboard
から来たの?関係をより明示的に表す代替構文がある場合は、それも示していただけますか?