問題タブ [wisper]

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.

0 投票する
1 に答える
3433 参照

ruby-on-rails - リクエストごとに wisper リスナーを自動的にリロードする

app/listeners ディレクトリにウィスパー リスナーがあります。

/config/initializers/wisper.rb もあります

リクエストごとにRailsにリスナーをリロードさせることはできますか?

0 投票する
2 に答える
533 参照

ruby-on-rails - wisper-sidekiq でキューを開始しない

wisper-sidekiq gemを使って小さな例を作ろうとしています。キューは作成されますが、開始されません。なんで?あなたが行っている手順を説明します。簡単になると思います。あなたの助けを願っています。

A. コントローラー:

B. サービス:

C. リスナー:

本を保存すると、もちろんキューが作成されます。しかし:

  • sidekiq silent (ログは空ですが、キューは作成されました)
  • redisもサイレント

たぶん、redis ( redis-server ) または sidekiq ( bundle exec sidekiq ) を開始するのが間違っているのでしょうか? 私を助けてください。

PS bundle exec sidekiq -d -e production sidekiq -q default -C config/sidekiq.ymlを試してみてください。sidekiq.rb空です。

0 投票する
1 に答える
426 参照

ruby - Wisper と Grape が POST リクエストから結果を返す

バックグラウンドで Wisper pub/sub を使用する単純な POST Grape エンドポイントがあります。

実際に計算が行われるSomeSub場所は次のとおりです。

SomePubも簡単です:

したがって{result: "42"}、Grape のpost :nowエンドポイントを呼び出すときに JSON で応答する必要があります。

残念ながら、この方法では機能しません。私が持っているものは次のとおりです。

Wisper の wiki の例はあまり役に立ちません ( https://github.com/krisleech/wisper/wiki/Grape )

SomePub#do_calculationsGrape のエンドポイント呼び出しの結果として、実際に結果を渡す方法はありますか?

0 投票する
1 に答える
1522 参照

ruby-on-rails - rails-observers と wisper gem の比較

wispergemを使用する利点はありますrails-observersか?

どちらも一見非常に似ていますが、wisper はコミュニティによってよりサポートされているようです (GH スター、コミット、およびリリースに基づく)。それらの間に大きな違いはありますか?

0 投票する
1 に答える
348 参照

ruby-on-rails - Railsスプリングウィスパーリスナーメソッドキャッシング

Spring が私の wisper リスナー メソッドをキャッシュしていることがわかりました (私は非常に単純なエンジンを書いています)。

例:

アプリ/モデル/myengine/my_class.rb

config/initializers/wisper.rb

アプリ/オブザーバー/myengine/my_observer.rb

Spring の再起動とspring stopは、本当に面倒なコマンドの手動実行を意味します。

さらに不思議なことにanother_method、戻り値を false に変更すると、テストが失敗する可能性がありますが、これは問題ありませんが、after_somethingメソッド本体を変更してテストに影響を与えないと (本体が何らかの形でキャッシュされているなど)。return falseafter_something

この奇妙な動作はリスナーメソッド本体内でのみ表示され、すべてのロジックをクラス内の別のメソッドに移動することで簡単に克服できるため、優先度の高い問題ではありません。とにかく、混乱するかもしれません (特に、正確な問題を知らなかった最初の段階では)。

0 投票する
1 に答える
666 参照

ruby-on-rails - Rails Wisper スキップ リスナー コールバック

私は Rails Wisper gem を使用しており、特定のテスト (メール送信をテストする場所) でのみリスナー コールバック (メールを送信する) を実行したいと考えています。他のテストでは、本番環境でコールバックがメールを送信する場合でも、メールを送信したくありません。

ウィスパーで可能ですか?

パブリッシャー(app/models/order.rb)

リスナー/オブザーバー(アプリ/オブザーバー/mailer_order_observer.rb)

サブスクリプション(config/initializers/wisper.rb)

テスト(spec/observers/mailer_order_observer_spec.rb)

上記のテストでは、コールバックを実行したいのですMailerOrderObserver order_after_saveが、他のテストでは実行したくありません (多くの「注文」が作成され、通常はメール送信をトリガーするものが変更されます)。

RSpec をテスト フレームワークとして使用し、FactoryGirl を使用しています。

もちろんOrder、FactoryGirl で新しいインスタンスを作成するとメール送信がトリガーされますが、これも望ましくありません。