問題タブ [polling]

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 投票する
6 に答える
6984 参照

python - select / poll / kqueue / keventを使用して、ディレクトリで新しいファイルを監視します

私のアプリでは、ディレクトリで新しいファイルを監視する必要があります。トラフィックの量は非常に多く、1秒あたり最低数百の新しいファイルが表示されます。現在、私はこの種のアイデアでビジーループを使用しています:

プロファイリングを実行した後、睡眠中に多くの時間が費やされているのを見て、代わりにポーリングを使用するようにこれを変更する必要があるかどうか疑問に思っています。

で使用可能なクラスの1つを使用してディレクトリをポーリングしようとしていますselectが、それが実際に機能するのか、それとも間違っているだけなのかわかりません。

次のコマンドでディレクトリのfdを取得します。

次に、ディレクトリがいつ変更されるかを確認するために、いくつかの方法を試しました。例として、私が試したことの1つは次のとおりです。

読むべき情報がもっとあるようにpoll()が機能するのはなぜですか?ディレクトリ内で何かが変更された場合にのみ、それが行われると思いました。

私がここでやろうとしていることは可能ですか?

そうでない場合、他にもっと良い代替手段はありwhile True: look for changesますか?

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

wcf - ポーリングするかしないか (Web サービスのコンテキストで)

ポーリングを使用して、Web サーバーに接続されたクライアントなど、何らかのソースからの更新について調べることができます。WCF は、Duplex コントラクトの方法で気の利いた機能を提供します。これにより、クライアントへの接続を維持し、その接続で自由に呼び出しを行うことができます。オフィスの何人かが両方のソリューションのメリットについて議論していたので、それぞれの戦略が最適な時期についてフィードバックを得たいと思いました。

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

wpf - WPF -- コレクション クラスからメイン ウィンドウにイベントをバブルアップする方法

ObjectDataProvider を使用して、IObservableCollection のクラスを呼び出しています。

clsPatient はデータを取得し、コレクションを埋めます。また、タイマーを使用して、一定間隔でデータベースの再クエリをポーリングします。

質問: clsPatient で StartPoll と EndPoll のイベントを作成するにはどうすればよいですか? さらに重要なことに、これらのイベントを WPF ウィンドウの分離コードにバブルアップするにはどうすればよいですか?

0 投票する
4 に答える
3138 参照

java - J2MEクライアントからのHTTPサーバーのポーリング

携帯電話(クライアント)でJ2MEアプリを実行していますが、

サーバーとのHTTP接続を開き、サーバー上の更新された情報をポーリングし続けたいと思います。

GPRSの課金は送受信されたパケットに基づいているため、実行されるすべてのポーリングはGPRSバイトを使い果たし、長期的にはコストがかかることになります。HTTPプロトコルを使用してバイト効率でポーリングする方法はありますか?

長いポーリングについても聞いたことがありますが、それがどのように機能し、どれほど効率的かはわかりません。

実際には、サーバーが電話アプリに新しいデータを使用する準備ができていることを通知するのが好ましい方法です。そうすれば、ポーリングを実行する必要はありませんが、特にJ2MEではこれらの手法を知りません。

0 投票する
6 に答える
15812 参照

c# - 何かを読み取ることができる場合にのみ、C# でソケットをポーリングする方法はありますか?

条件の1つだけが満たされている場合(データが読み取り可能)、c#でソケットをポーリングする方法があるかどうか疑問に思っています.socket.Pollメソッドは知っていますが、指定された 3 つの条件は、ここで指定されているように true を返します: MSDN: Socket.Poll

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

php - 世論調査とPHP

さて、私は投票所を作りたいのですが、それは通常の投票のようには機能しません。

これが私の運営方法です:

ユーザーが登録し、確認メールが送信されますログインできることを確認すると、そこから複数のトピックを含む1つの巨大な投票に到達しますが、1つのトピックを選択するのではなく、20ほどの「トークン」があり、各トピックに次のように配布できます。望ましい。次に、これらのユーザーは投票を保存し、結果を表示できるデータベースに移動します。これらの20個のトークンは、週に1回、月に1回、または隔週などで補充されます。

これが基本的な考え方です。これが良い考えかどうかは尋ねていません。これをサポートするポーリングプラグイン/アドオンタイプのものが自分のサイトにインストールできるかどうか、またはこれをカスタムメイドにする必要があるかどうかを知りたいのですが。

このサイトの追加機能は、ユーザーが一般的な投票に投票する別のセクションがあることです。この投票では、最初のメイン投票にどのトピックを追加する必要があるかを尋ねます。

これをサポートするプラグインが存在する場合、誰かが私またはそれを教えてくれる可能性があります。

または、これがカスタムメイドの場合。それはどれくらい激しいでしょうか?私はPHPとMySQLの初心者を理解していますが、これは私にできることですか?

私は助けに感謝します、

ありがとう

0 投票する
6 に答える
1556 参照

.net - ポーリングせずにJSクライアントに通知するには?

コンテキスト: JavaScript Web UI から、.NET2.0 バックエンドで実行される長時間 (数分) の操作を起動します。呼び出しは、長時間実行オペレーションが並行して実行されている間、オペレーション ID とともにすぐに返されます。操作は CPU 集中型ではありませんが、低速のネットワーク呼び出しを実行します。操作が完了したら、Web UI で結果を確認したいと考えています。

質問:作業が完了したことをクライアントに通知するにはどうすればよいですか?

私が検討したオプション:

オプション 1 : 長期実行オペレーションを JS から直接非同期で起動し、戻り値がオペレーション ID ではなく最終結果になることを期待しています。私の AJAX ライブラリはすべてを処理し、人生はとても簡単できれいに見えます。問題は、サーバー側のスレッドが ThreadPool スレッドであり、数分間ロックすることです。十分な処理能力がある場合でも、ThreadPool が枯渇し、サーバー全体が機能しなくなる原因となる、実行時間の長い並列要求が多すぎる必要はありません。

オプション 2 : 操作 ID を使用して、操作が完了した場合にサーバーのポーリングを開始します。ただし、これは自分のサーバーに対するサービス拒否攻撃です。さらに、それに対する公正な ajax ソリューションが必要です。これは、固有の問題ではありません。

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

python - Python でソケットをポーリングする際の問題

ポーリング ループを開始した後、最初の繰り返しの後に出力されたすべてのメッセージを表示するには、ターミナルで Enter キーを押す必要があります。

0 投票する
4 に答える
42602 参照

javascript - JSON 応答の jQuery AJAX ポーリング、AJAX 結果または JSON コンテンツに基づく処理

私は初級から中級の JavaScript/jQuery プログラマーなので、具体的/実行可能な例を教えていただければ幸いです。

私のプロジェクトでは、AJAX を使用して、DOM に追加するコンテンツを含む JSON を返す URL、またはバックエンドがまだコンテンツを含む JSON 応答の生成に取り組んでいることを示すメッセージ{ "status" : "pending" }をポーリングする必要があります。 . URL への最初のリクエストがバックエンドをトリガーして JSON レスポンスの作成を開始し (キャッシュされます)、後続の呼び出しでこの JSON の準備ができているかどうかを確認します (準備ができている場合は提供されます)。

私のスクリプトでは、この URL を 15 秒間隔で 1:30 分までポーリングし、次のことを行う必要があります。

  • AJAX 要求がエラーになった場合は、スクリプトを終了します。
  • AJAX 要求が成功し、JSON コンテンツに{ "status" : "pending" }が含まれている場合は、ポーリングを続行します。
  • AJAX リクエストが成功し、JSON コンテンツに使用可能なコンテンツ ( { "status" : "pending" }以外の有効なレスポンス) が含まれている場合は、そのコンテンツを表示し、ポーリングを停止してスクリプトを終了します。

私はいくつかのアプローチを試みましたが、成功は限定的でしたが、それらはすべて必要以上に厄介であると感じました。これは、一度に 1 つの AJAX リクエストを作成するために成功裏に使用したスケルトン関数です。これは、JSON レスポンスから使用可能なコンテンツを取得した場合に機能します。

ただし、この関数は現在、使用可能なコンテンツを含む有効な JSON 応答を受信しない限り、何もしません。

コメントだけの行で何をすべきかわかりません。別の関数がポーリングを処理し、必要に応じて ajax request() を呼び出す必要があると思われますが、ajax request() がその結果をポーリング関数に伝えて適切に応答できるようにする_最もエレガントな方法はわかりません。_

どんな助けでも大歓迎です!さらに情報を提供できる場合はお知らせください。ありがとう!