問題タブ [request-cancelling]

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.

0 投票する
2 に答える
928 参照

php - AJAX 経由で呼び出された PHP プロセスは "ESC" でキャンセルされますか?

AJAX 呼び出しを行う場合、ユーザーが「ESC」を押すか、そのページを離れると、AJAX 呼び出しはキャンセルされますか?

AJAX 呼び出しがキャンセルされた場合、PHP スクリプトは実行中の処理が完了するまで実行し続けますか (制限時間に達しないか、他のサーバー構成が停止しない場合)、またはそのプロセスは同時に強制終了されますか?それが属するApacheの子?

プロセスが終了していなくてもApacheの子で強制終了された場合、それを維持するための最良の方法は何ですか、または他にどのようなオプションを検討する必要がありますか? (ZendX_Console_Process_Unix はオプションではありません)。

ありがとう!

その後の発見:

Firefoxで「ESC」を押すと、AJAX呼び出しが実際にキャンセルされます(firebugで確認)。PHP プロセスは続行され、ESC を押したりタブを閉じたりしても影響を受けません。

0 投票する
7 に答える
18033 参照

php - 実行された ajax リクエストをキャンセルする方法 (サーバー側)

AJAX リクエストをキャンセルする簡単な方法があるかどうか疑問に思っていましたか?

クライアント側の XMLHTTPRequest で「中止」を呼び出すだけでなく、サーバー プロセスを簡単に停止する方法はありますか? サーバーはApacheを使用しています。

ありがとう

0 投票する
3 に答える
9970 参照

wcf - WCFサービスコールをキャンセルするには?

長時間実行しているWCFの関数があるので、backgroundworkerでUI内の関数を呼び出して...この場合、サービスの実行を停止する方法はありますか?

0 投票する
2 に答える
4649 参照

c# - バックグラウンド ワーカー クラスのキャンセル、キャンセル保留フラグを設定しますが、終了しません

obackgroundworker.CancelAsync(); を呼び出します。現在別のスレッドで何らかの作業を行っているバックグラウンド ワーカーで、アプリケーションを終了する前に while (obackgroundworker.IsBusy == true) を使用して終了するのを待ちます (スレッドが処理を行っていない間にユーザーが気が変わった場合に備えて)。きれいに閉じます)

保留中のキャンセルのフラットは正しく true に設定されていますが、スレッドは終了しません。ワーカー スレッドでは次のようになります。

キャンセルが保留中かどうかを確認してから、キャンセルされたフラグをtrueに設定する必要があります。これにより、スレッドが実際に終了することもあると思います...? または、実際に終了するためにキャンセルが検出されたときに、スレッドから呼び出す必要がある他の関数がありますか?

上記とまったく同じようにバックグラウンドワーカーを使用する多くの例を読みましたが、問題は報告されていません。

ソース:

http://www.albahari.com/threading/part3.aspx http://www.dotneat.net/2009/02/10/BackgroundworkerExample.aspx http://www.codeproject.com/KB/cpp/BackgroundWorker_Threads. aspx

ありがとう

0 投票する
1 に答える
901 参照

soap - SOAP は呼び出しのキャンセルをサポートしていますか?

SOAP プロトコルを使用している場合、SOAP を使用して保留中のリモート関数呼び出しをキャンセルできますか?

次の 3 つの状況が見られます。

  • A) 完了するまでに時間がかかるサービスにリクエストを送信する。例えば、大量のファイルを含むディレクトリをコピーする場合、ファイルコピーのループを解除できますか?

  • B) 長いリストを返すリクエストを行う。たとえば、ユーザー名のメモリ内の大きなリストを照会する場合、このリスト応答の送信をキャンセルできますか?

  • C) まだ内部通話キューにある通話をキャンセルする。つまり、サーバーが処理を開始する前です。これは、短時間に多数の非同期呼び出しを発行した場合に発生する可能性があります。

0 投票する
3 に答える
1899 参照

php - Symfony : ajax 呼び出しにより、サーバーは次のクエリをキューに入れます

サーバーでのajax呼び出しに時間がかかりすぎると、アプリケーションに問題が発生します。サーバー側で完了するまで、ユーザーからの他のすべてのクエリをキューに入れます(クライアント側で呼び出しをキャンセルしても効果がなく、ユーザーはまだ待たなければならない)。

ここに私のテストケースがあります:

そのため、get が起動されてリンクをクリックすると、サーバーは最初の呼び出しの処理を終了してから別のページに移動します。私の問題は、この動作を避けたいということです。

私は LAMP サーバーを使用しており、ユーザーが connection_aborted() のような関数を使用してクエリを中止したことをサーバーに通知する方法を探しています。それでよいと思いますか? また、この PHP スクリプトの最も長い部分は MySQL クエリであることもわかっているので、connection_aborted() がユーザーが呼び出しをキャンセルしたことを検出できることがわかっていても、MySQL クエリ中にこれを確認する必要があります... PHPがこの種の「イベント」を処理できるかどうかはよくわかりません.

ですから、もっと良いアイデアがあれば、それを聞くのが待ちきれません。

ありがとうございました。


更新 : さらに調査した結果、問題は Symfony フレームワークでのみ発生することがわかりました (正確には省略しましたが、悪いことです)。Ajax 呼び出しは、他の将来の呼び出しをロックしているようです。コントローラーかルーティングシステムに関係しているのかもしれませんが、調べています。

また、この問題に関心のある方のために、私の新しいテスト ケースを示します。-ajax クエリ用の jquery 1.4。

これが私のactions.class.phpです(私の独自のモジュール内):

ここに私のindexSuccess.phpテンプレートファイルがあります:

新しいページ テンプレートについては、あまり関係ありません...しかし、これにより、実際のアプリケーションで発生したロックの問題を再現できます。

他の誰かが同じ問題を抱えていますか?

ありがとう。

0 投票する
1 に答える
1035 参照

asp.net - 操作が Windows サービスによって実行されているときに、ASP.NET UI から実行時間の長いデータベースの挿入/更新操作をキャンセルする方法

これについての質問がここにあります。ただし、私の場合、テーブルで長時間実行される挿入/更新を実行しているのはWindowsサービスであり、ASP.NETアプリケーションから操作をキャンセルする必要があります。上記のリンクで、Burnsys は SQL サーバー セッションを強制終了することを提案しています。それは本当に唯一の方法であり、これを行うための良い習慣ですか?

また、同じポーズセットで、誰かが SqlCommand.Cancel を使用してキャンセルできることを示唆しています。ただし、ASP.NET アプリケーションから Windows サービスのコマンドをキャンセルする方法がわかりません。

ご意見をお聞かせください。

貴重なコメントをお寄せいただきありがとうございます、Ashish

0 投票する
1 に答える
783 参照

c# - スレッド内での BackgroundWorker のキャンセル

BackgroundWorker と C# を使用して、マルチステップ プロセスを長時間実行しています。次のステップに進む前に、各ステップが正常に完了したことを確認する必要があります。BackgroundWorker にエラーをキャッチさせ、[キャンセル] ボタンをクリックしてキャンセルするという多くの参照を見てきましたが、自分でエラーを確認してから、プロセスを適切に終了したいと考えています。誰かがキャンセル ボタンをクリックしたのと同じように扱うべきですか、それとも別の方法がありますか?

0 投票する
2 に答える
13424 参照

http - HTTP サーバーは、クライアントが要求をキャンセルしたことを検出できますか?

私の Web アプリは、特定のページを表示するために大量のデータを処理して提供する必要があります。サーバーがまだ処理中である間に、ユーザーがページを閉じたり更新したりすることがあります。これは、サーバーが数分間データを処理し続け、リッスンしていないクライアントにデータを送信することを意味します。

接続が切断されたことを検出して対応することはできますか?

この特定のプロジェクトでは、Django と NginX、または Apache を使用しています。これは、Django 開発サーバーがキャンセルされたリクエストに応答して Broken Pipe 例外を出力するように見えるため、可能であると想定しました。アプリケーションコードがキャッチできる例外を発生させたいと思っています。 JSP でこれができるようですnode.js hereも同様です。

または、問題のページに unload イベント ハンドラーを登録し、このユーザーからの前の要求をキャンセルするように要求する同期 XHR を実行させ、プロセス間通信を実行してそのようにすることもできます。おそらく、より遅いデータ処理が別のプロセスに渡された場合、応答するプロセスを強制終了することなく、より簡単に識別して強制終了できます...

0 投票する
1 に答える
624 参照

java - 実行中の AXIS 1.4 SOAP リクエストをキャンセルするには?

現在実行中の SOAP リクエスト (Axis 1.4、Java 1.6) をキャンセルすることはできますか?

WSDL2Java で生成されたインターフェースを使用しているので、呼び出しはmyProvider.submitMyRequest(request). これは同期的であり、応答を受信するまで戻りません。外部条件に基づいて通話を中断できるようにしたい。リクエストを実行するスレッドを強制終了する以外に、どのようなオプションがありますか?