あなたのRailsアプリのフェイと変更モデルの変更
-
11-12-2019 - |
質問
フェイとレールアプリケーションを使っています そしてThaが私をとても悩ませているのは私ができないということです メッセージを受信したメッセージを作成または変更する。
それは https://github.com/jazzotron/Faye-Rails しかし、それはちょっと面倒です。
しかしそれはエラーを与えます。それでは、それはどういうわけかそれはRails環境全体をロードするべきです(そしてそれは実際には必要です)。
PS Googleグループを使用してチャネルに包含しようとしました。http://groups.google.com/group/faye-users/browse_thread/thread/620e6440422687a?pli=1 しかし、それでもそれを仕事にすることはできません。それは購読を出版しますが、購読によって戻っていません。
解決
私に働いていたのは、Fayeサーバーをメッセージの渡しおよび検証の責任を負うことです。それが成功した場合は、ResqueをRedisに保存すると、処理を終了できます。
利点は、実行中のタスクがFaye接続を遅くしないことであり、さらに処理が必要な場合はいつでも他の労働者を追加できます。
私の最初の拡張子の着信方法の上部に新しいEM-Redis接続を作成します
$redis ||= EM::Hiredis.connect @options[:redis]
.
テストを渡す場合は、RESQUESが使用する形式で保存します。
m = {'class' => "Message", 'args' => ['handle_message', {name: message.to_s}.to_json]}
$redis.rpush("resque:queue:faye", m.to_json )
$redis.sadd("resque:queues","faye")
.
私のRailsアプリからユーザーに送信するための
スクリプト/ faye_worker で次のコードを使用します。
https:// github。 COM / SPONSORPAY / EM-RESQURS-A-A-RAILS-3-APP-AS-A-GEM
私はworment fayeの前にinit fayeをem.sonchronyで包みます
あなたのモデルからメッセージを送信するためだけにそれを非同期再スキューキューに送ります。