問題タブ [fire-and-forget]
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.
c# - Hangfire: 型に署名付きのメソッドが含まれていません
task1 を実行する Page1.aspx を持つ Web アプリケーションがあり、その後、fireAndforget 方式で task2 をスケジューラーにエンキューします。
私は Hangfire を使用しており、すべてがインストールされ、正常に動作していますが、パラメーターがない場合(テスト中) は1 回だけです。doLongJob()
次に、パラメーターを追加しました (さらに追加する予定です)。その後、これらのエラーに直面しています
Page1.aspx.cs
Startup.cs
Global.asax.cs
rest - Camel REST: 長時間動作する HTTP サービスの非同期リクエスト処理
この種の問題の最新の例を見つけようとしましたが、残念ながら見つかりませんでした。次のように動作するキャメルを使用して Web サービスを実装しようとしています。
- Camel は、GET または POST (api/startsearch) を介して Rest-Endpoint から入力を受け取ります。
- Bean は入力を処理し、チケット ID を生成します
- 同じ Bean が HTTP-202 またはリダイレクト URL (api/result?ticket-id=jf3298u23) を含む redirect-Status-Code でクライアントに応答します。
- bean は入力を activemq start-queue にも渡します。ここで、Camel ルートはすべての長時間処理を実行します。
- ルートが終了すると、結果はリダイレクト URL (/result?ticket-id=jf3298u23) で利用できるようになります。処理がまだ終了していない場合は、HTTP-299-processing のようなカスタム ステータス コードで応答する必要があります。
したがって、私のルートは次のようになります。
Bean 自体には 3 つのメソッドがあります。
これは、手動で設定した応答コードとメッセージで返信する適切な方法ではないと確信していますが、それを行う別の方法が見つかりませんでした.
したがって、現在の問題は、メッセージ全体が処理されるまでキャメルが待機することです。したがって、によって生成された応答は.to("bean:requestHandler?method=processNewSearch")
、開始キューに入れられるだけなので何もしません。
camel でカスタム レスポンスをすぐに返し、ルートでリクエストを非同期に処理するにはどうすればよいですか?
c# - 非同期環境で Fire&Forget を適切に使用する方法
次の点を考慮してください。
色: https://ghostbin.com/paste/6edov
私はチートして安価な ConcurrentQueue ソリューションを使用しているため、GetWebDataAsync() の実行中に何が起こるかはあまり気にしません。それを起動してそのジョブを実行したいだけですが、プロセス キューには常に 60 ごとに実行する必要があるため、即座に移動します。秒またはタイマーの解像度。
多くのオーバーヘッドや不要なスレッドの生成を回避するにはどうすればよいですか?
編集:他の場所で私のケースの答えを得ました