問題タブ [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.
perl - Perlでプロセスを起動して忘れるにはどうすればよいですか?
Perl でプロセスを起動して忘れる方法を誰か教えてくれませんか? 私はすでにルビーを見てきました:サブプロセスを起動して忘れるには? Rubyで同じことをするため。
c# - Fire-and-Forget の C# の改善
ご挨拶
クラスの複数のインスタンスを作成し、すべてのインスタンスで同じ実行時間の長い Update メソッドを実行し、完了するまで待機するプログラムがあります。Update を に追加するというこの質問から、Kev のアプローチに従っていますThreadPool.QueueUserWorkItem
。
メイン プログラムでは、数分間寝て、最後の子のブール値をチェックして、完了したかどうかを確認しています。
このソリューションは私が望むように機能していますが、これを行うためのより良い方法はありますか? 独立したインスタンスと、すべての作業が完了したかどうかの確認の両方。
ありがとう
更新: ロックする必要はありません。異なるインスタンスはそれぞれ、要求元の Web サービス URL が異なり、応答に対して同様の作業を行います。彼らは皆、自分のことをやっています。
java - PHP exec()、起動して忘れることはできますか?
私はphpフォームを介してJavaアプリケーションを実行しようとしていました..送信ボタンが実行コマンドを起動します:
最初のパスは jar ファイルの場所を決定し、2 番目のパスはパラメーターとして機能します。
問題は、スクリプトの処理に時間がかかりすぎることです。待機をバイパスしたいのですが、それを行う方法はありますか (火事と忘れのように)? スクリプトは結果をファイルに書き込み、ファイルがそこにあるかどうかを 5 分ごとに確認できますが、プロセスが終了するのを待って立ち往生するのは不便です...
助言がありますか ?
前もって感謝します
c# - wsHttpBindingを使用するときにWCFでファイアアンドフォーゲットする方法
IISでホストされているWCF
サービスがあり、ASP.NETアプリケーションによって使用されています。サービスとクライアントは異なるサーバー上にあり、インターネットを介して通信します。
Message
セキュリティオーバーwsHttpBinding
は、セキュリティモデルとして使用されます(X.509
証明書を使用)。
私はでサービスをテストしましたFiddler
が、1回の呼び出しでフィドラーに4つのセッション(2回のラウンドトリップ)がない限り、すべてが問題ないようです。WCF
メソッドを呼び出すときにブロックされないように、呼び出し元のスレッド(asp.netワーカースレッド)とのセッションは必要ありませんWCF
。
サービスを使用するときに、どうすれば火と忘れのパターンを実現WCF
できますか(必要に応じてサービス契約を変更できます)?
c# - C#からSQLServerストアドプロシージャを起動して忘れる
キューに入れられたジョブを実行していて、各ジョブの最後に、データに対して多くの処理を実行するSPを起動したいと思います。そのため、SPの完了を待ちたくないので、SPをトリガーした直後に次のジョブに移動したいと思います。ストアドプロシージャは、トリガーコードから入力を受け取ります。
問題:-
これは、ジョブを作成するための私のスクリプトです。スケジュールを追加していないことに注意してください。
を実行してこのジョブを開始すると、実行されEXEC msdb.dbo.job_JobName'
ていませんdbo.SpToExecute
。ジョブ内で1回だけ実行する必要がありdbo.SpToExecute
、その後ジョブが停止します。もう一度実行するEXEC msdb.dbo.job_JobName'
と、もう一度実行する必要がありexec dbo.SpToExecute
ます。これを達成する方法や、ここで欠けていることを教えてください。
c# - C#4.0でファイアアンドフォーゲットメソッドを実行する最も簡単な方法
私はこの質問が本当に好きです:
C#でファイアアンドフォーゲットメソッドを実行する最も簡単な方法は?
C#4.0にParallel拡張機能があるので、Parallel linqでFire&Forgetを実行するためのよりクリーンな方法があることを知りたいだけです。
wcf - WCF の「ファイア アンド フォーゲット」メソッドでは、ホストの実行を期待どおりに続行できません
大量のデータをキャッシュするシングルトン WCF サービスをホストする Windows サービスがあります。Windows サービスの起動時に、次のことを行っています。
そして、サービス コントラクトで次のように構成されたメソッドがあります。
コンソールに 1 番目と 2 番目のエコーがすぐに表示されると思っていましたが、実際に表示されているのは 1 番目のエコーだけです。2行目は、私の「ファイアアンドフォーゲット」メソッドが長い操作を完了するまで表示されません。
バックグラウンドで何が起こっているのか誰でも説明できますか?
これまでの私の理論:
シングルトン モードでの wcf サービスの操作は、それをホストしているサービスをブロックしていますか?
usingステートメントと関係がありますか?
javascript - 「window.OnBeforeUnload」の成功を増やしてAjaxpingを送信するにはどうすればよいですか?
私はSOについて何十もの質問と回答を読みましたが、どれも私の特定の質問に答えていません...それらのほとんどは「ああ、あなたは保存する必要があります」というメッセージをポップアップすることを中心にしています...それは私の必要ではありません。
私は自分のオフィス(公開Webサイトではない)で内部使用するためのアプリケーションを作成しています。特に1つの「ページ」で、ユーザーによる「終了」をログに記録したいと思います。
だから、私はこの簡単なステートメントを持っています:
post
これで、ページが消えることを知っているため、ブラウザが新しいリクエストを開始することを「望んでいない」ため、これはほとんどの場合失敗します...しかし、迷惑なalert
ボックスを追加すると、ping100が送信されます時間の%!!!
例:
だから、私の質問は...「LogExit.aspx」のpingが確実に実行されるようにするには(または少なくともその可能性を高めるには)どうすればよいですか?
wcf - WCF クライアントにより、接続障害が発生するまでサーバーがハングする
以下のテキストは、この質問を拡張して色を追加するための努力です。
不正なクライアントがサービス全体をダウンさせないようにするにはどうすればよいですか?
私は基本的にこのシナリオを持っています: WCF サービスは、クライアント コールバックで稼働しており、単純な一方向通信であり、これとそれほど違いはありません。
このメソッドを、サービスから最終的には約 50 の同時接続クライアントに対して、1 秒間に何千回も呼び出す可能性があります。レイテンシは可能な限り低くします (15 ミリ秒未満が望ましい)。これは、サーバーに接続されているクライアント アプリの1 つにブレーク ポイントを設定するまで正常に動作し、サービスがハングしてから 2 ~ 5 秒後にすべてがハングし、サービスが終了するまで約 30 秒間、他のクライアントはデータを受信しません。接続障害イベントを登録し、問題のあるクライアントを切断します。この後、他のすべてのクライアントは引き続きメッセージを受信します。
serviceThrottling、同時実行性の調整、スレッドプールの最小スレッドの設定、WCF の秘密のソース、および 9 ヤード全体について調査しましたが、1 日の終わりに、この記事MSDN - WCF の要点、一方向の呼び出し、コールバック、およびイベント について正確に説明しています。実際に推奨せずに私が抱えている問題。
サービスが安全にクライアントにコールバックできるようにする 3 つ目の解決策は、コールバック コントラクト操作を一方向操作として構成することです。そうすることで、同時実行性がシングルスレッドに設定されている場合でも、サービスがコールバックできるようになります。これは、ロックを争う応答メッセージがないためです。
しかし、記事の前半で、クライアントの観点からのみ、私が見ている問題について説明しています
一方向の呼び出しがサービスに到達すると、すべてが一度にディスパッチされず、サービスで構成された同時実行モードの動作とセッション モードに従って、一度に 1 つずつディスパッチされるようにサービス側でキューに入れられる場合があります。サービスがキューに入れるメッセージ (一方向または要求/応答) の数は、構成されたチャネルと信頼性モードの積です。キューに入れられたメッセージの数がキューの容量を超えた場合、一方向の呼び出しを発行しても、クライアントはブロックされます。
クライアントへのキューに入れられたメッセージの数がキューの容量を超えており、スレッドプールがこのクライアントを呼び出そうとするスレッドでいっぱいになり、すべてブロックされているとしか考えられません。
これを処理する正しい方法は何ですか? クライアントごとにサービス通信レイヤーでキューに入れられているメッセージの数を確認し、特定の制限に達した後に接続を中止する方法を調査する必要がありますか?
満杯のキューで WCF サービス自体がブロックされている場合、サービス内に実装できるすべての非同期/一方向/ファイア アンド フォーゲット戦略は、1 つのクライアントのキューがいっぱいになるたびにブロックされます。
stored-procedures - Entity Framework を使用したストアド プロシージャの起動と忘却
アプリケーション内で Entity Framework 4.1 を使用しています。要件の 1 つは、データベースでいくつかのストアド プロシージャを実行することです。さらに、これらのストアド プロシージャは結果を返さないため、それらを開始するだけで忘れてしまいます。
当然、.NET はこれらの操作が完了するまで待機するため、しばらくすると「タイムアウト期間が経過しました」という例外がスローされます。
CommandTimeout プロパティをより高い値に設定することで修正できることはわかっていますが、別の解決策を探しています (存在する場合)。
Fire-and-Forget として Entity Framework を使用してストアド プロシージャを実行することは可能ですか?
どんな助けでも大歓迎です。
よろしく