Web インターフェイス (サービス スタック) と実行時間の長いジョブ サービス (servicestack?) を備えたソリューションを実装しています。
私はすでに Web インターフェイスを実装しており、servicestack が必要なものを作成するための非常に優れたフレームワークであることがわかりました。半信頼性の高いオブジェクト ストアとして redis を使用しました。
それから、ジョブサービスを実装する方法について考え始めました。私が当初考えていたのは、単純な Windows サービスをセットアップし、redis クライアントにジョブ サービス用にマークされた考えをピックアップさせることでした (正確にはわかりませんでした)。これらは大量のリソースを必要とする非常に長時間実行されるジョブであるため、一度に実行するジョブの数を調整したいと考えています。
それから、ServiceStack には法案に適合する可能性のある RedisMQ があることがわかりました。したがって、質問です。
別のサービス スタック サービスを作成し、それを Windows サービスでホストする必要があります。次に、MQ インターフェースを用意し、Web サービスが実行する必要があるメッセージ キュー ジョブに投稿できるようにします。次に、ジョブサービスが Web サービスから分離され、すべてがうまくいきます。
また
私はそれを考えすぎて、すでに実行しているサービスのロジック部分を使用して、そこにジョブロジックを実装する必要があります.MQにポップインできますが、同じプロセスではおそらく時間の無駄になります. メッセージ部分を完全にスキップして、スロットリング アルゴリズムを使用してロジック部分を直接呼び出すことができます。
また、これをテストしていたとき、RedisMQ サーバーの作成に問題がありました
using ServiceStack.redis;
using ServiceStack.messaging;
var mqHost = new RedisMqServer(redisFactory, retryCount:2);
RedisMQServer が見つからないことを返します。
servicestack および servicestack.redis パッケージの完全な nuget インストールを行いました
install-package servicestack
install-package servicestack.redis
.dll でオブジェクト ブラウザを使用すると、ReidsMQServer、バージョン i 4.0.15 についての言及が見つかりません。この URL https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack を見つけました。 Server/Messaging/Redis/RedisMqServer.cs そして、これは servicestack.redis リファレンスに属するべきだと思うでしょう。
どんな助けでも感謝します、乾杯