問題タブ [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# - 非同期の Task メソッドを起動して忘れると、呼び出されないことがある
私は非同期メソッドを持っています:
ほとんどの場合、次の方法でこのメソッドを呼び出します。
この呼び出しは期待どおりに機能します。しかし、どこかで、このメソッドをファイア アンド フォーゲットとして呼び出す必要があります。
この場合、 Taskが実行されて完了する場合もありますが、タスクがまったく呼び出されない場合もあります (または、内のDoSomethingAsync()
いくつかの を呼び出すが、最後の を完了しない場合もあります)。await
DoSomethingAsync()
await SaveAsync();
私は、タスクが次のコードによって確実に起動され、忘れられるようにしようとしています:
ただし、これは期待どおりには機能しません。だから私の質問は:
常に実行して完了する
DoSomethingAsync()
ことなく呼び出しを行う方法は?await
(AppDomainの再起動/クラッシュは気にしません)async/await
内のすべてのコードを削除しDoSomethingAsync()
て に置き換えるawait
と.ContinueWith()
、Task DoSomethingAsync()
(メソッド宣言に含まれていないasync
) への呼び出しが呼び出され、確実に完了します (AppDomain の再起動/クラッシュの場合は無視します)。 Task が 10 分後に呼び出されたら嬉しいと思います)。
c# - Tmeout を設定して WebClient を使用する Fire & Forget
WebClient に関して質問があり、誰かが私を助けてくれることを望んでいました。この質問が何度か聞かれたことは知っていますが、良い答えが見つかりませんでした。
URL を呼び出す必要があるシナリオが 2 つあります。a) URL からの応答は必要ありません (Fire&Forget)。b) URL は JSON を返すため、データを取得するには、サーバーで処理が完了するまで待つ必要があります。
a) にいくつか問題があり、自分が行ったことが理にかなっているのかどうかわかりません。Fire&Forget を実装するために、WebClient のタイムアウトを「小さい」500 ミリ秒に設定しています (コードは以下にあります)。私の質問は次のとおりです。
a)これは良いアプローチですか、それともまったく意味がありませんか?b) 500 ミリ秒待つのは理にかなっていますか? タイムアウトをゼロに設定できますか? c) このアプローチは安全ですか? 処理にかかる時間は気にしませんが、Web サービスを開始できることを確認したいと考えています。以下のコードは、Web サービスが起動されることを保証していますか? そうでない場合、Timneout ではない例外が発生しますか?
どうもありがとう !
javascript - 返信を待たずにフォームを投稿する方法
フォームを (javascript で) 投稿し、ブラウザが応答を待たないようにするにはどうすればよいですか? これはまったく可能ですか?私が作成したいパターンは、一種の「Fire and Forget」パターンです。送信を実行するコードは次のとおりです。
(ドメイン外のエンドポイントに投稿する必要があるため、フォームの投稿はこの方法で行われます。したがって、CORSの問題を克服する必要があります。)
asp.net-mvc - この MVC Fire and Forget アプローチは悪い設計ですか?
タスクを実行するコントローラーのアクションがあり、最後にユーザーに確認メールを送信します。電子メールの部分はそれほど重要ではないので、電子メールの送信で例外がスローされた場合にアクションを中断させたくありません。また、HTTP 応答が電子メールを待機するのを待ちたくありません。いずれかで送信されます。私はこれを火事にして忘れるものにしたい.
一言で言えば、これは私がそれにアプローチした方法です:
このアプローチは適切ですか?
.net-4.0 - アプリケーション FireandForget を作成する方法?
以下は、.Net 4.0 で Http モジュールを開発するために使用したコードです。しかし、プログラムを実行すると、アプリケーションが実行されるまで数秒待っていることがわかりました。しかし、私はそれが FireAndForget() であることを望んでいます[結果を待つべきではありません]。どうすれば FireAndForget にできますか?
c# - IRegisteredObject の実装時に stop メソッドが呼び出されない
w3wp.exe が IIS によってシャットダウンされているときに、1 行のログを書き込もうとしています。ただし、そのログが表示されるのを見たことはありません。
また、ダミーのasp.net mvcアプリを使用してローカルで試します。コントローラーでは、ダミーの for ループを実行してリクエストを続行し、同時に以下の検出器のコピーを持っています
w3wp.exe proecssを強制終了すると、停止方法がトリガーされるはずです。しかし運がない。
誰でも何か考えがありますか?
udp - あるプロセスから別のプロセスへのファイア アンド フォーゲット メッセージングを実装する方法は?
ボタンをクリックすると、あるプロセスから別のプロセスに単純なメッセージが送信されます。メッセージは、文字列引数を持つ単純なコマンドであり、合計で 50 文字程度 (間違いなく 1k よりもはるかに少ない) になります。
そして以下を満たす:
- シンプルでなければならない(つまり、本格的なメッセージング システムではない)
- Windows で実行する必要があり、Unix で実行する必要があります
- 下の図は私の実際の要件を示していますが、主要なプログラミング言語/ランタイムで動作するはずです
- パフォーマンスは重要ではありません。このような単純なメッセージの場合でも、送受信サイクル全体に 1 ミリ秒以上かかることはありません。
- 「保証付き」等不要
- 送信者は、受信者がメッセージを受け取ったかどうか、またはそもそも受信者がいるかどうかを気にしません
- 暗号化/認証/承認は不要
ウィキペディアには、 IPC を実行する方法の長いリストがありますが、最も簡単なのは非接続ソケット オプションのようです。
JSON (de )シリアライザー?