問題タブ [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.
ajax - 同時 AJAX 間隔ポーリング
サーバーの負荷が明らかに高いことは別として、複数の AJAX ポーリングを同時に実行することは悪いことですか? それとも、ブラウザ/サーバーが処理できるものに制限さえありますか?
例 (すべて AJAX ポーリング)..
機能 A は、グローバル チャット システム (Facebook/MySpace など) の新しいメッセージを 3 秒間隔で取得します。
機能 B は、2 秒間隔で更新をプルし、ユーザーに表示するアクション (オンライン ポーカー アプリケーションなど) です。
機能 C は 4 秒のインターラルですが、別のメッセージング システムの新しいメッセージをプルしています。
callback - コールバックポーリング用にdojox.cometdを設定するにはどうすればよいですか?
これまでのところ、dojox.cometdを構成する方法の例をいくつか見つけましたが、それらのどれもconnectionTypeを構成していません。私は現在、ロングポーリング(私が知る限り、デフォルトのポーリング)ではなくコールバックポーリングに興味があります。
誰かがここで私を助けることができますか?dojoxのドキュメントは私にはかなりあいまいであり、ソースコードでさえ難読化されていることを認めなければなりません(少なくとも私にとっては、私はjavascript-ninjaコーダーではありません)
asp.net - メッセージキューにデータベースを使用するAsp.netチャットアプリケーション
メッセージを交換するためにSqlServerデータベースを使用するチャットWebアプリケーションを開発しました。
すべてのクライアントはx秒ごとにポーリングして、新しいメッセージをチェックします。
このアプローチは多くのリソースを消費することは明らかであり、それを行うための「より安い」方法があるかどうか疑問に思いました。
私は「プレゼンス」に同じアプローチを使用します。つまり、誰がオンになっているかをチェックします。
linux - Linuxでは、良心的な方法でポーリングします
何かのステータスをポーリングするタイトなループがある場合、CPUを使用したい他のプロセスの邪魔にならずにポーリングを実行する方法がよくわかりません。たとえば、これを行う:
リソースの無駄のようです。これを行うための最良の方法は次のとおりだと思います。
これを実行している間にCPUを100%消費したとしても、topはプロセスをスリープ状態としてリストすることを期待しています。このように、プロセスは(私は願っています)「うまく」ポーリングします。しかし、それは起こりません。現時点で私は
これは完全に受け入れられますが、これよりもうまくいくと思います。これを行うための標準的な方法はありますか?
c# - (Win/C#/.Net) アプレットは 1 時間間隔でポーリングする必要があります - 最適な方法に関する推奨事項は?
アプレットは、たとえば 1 ~ 4 時間ごとにディレクトリの存在をポーリングし、見つからない場合は数通の電子メールまたは NET SEND を送信する必要があります。正確な間隔はまだわかりませんが、1 時間より短くなることは間違いありません。全体的な「ジョブ」は永続的であり、予見可能な将来にわたって継続的に実行されます。アプレットは Win2k3 サーバー上で実行され、(非常に軽い) ユーザーの使用パターンに基づいて、プライマリ サーバー機能に顕著な影響を与えるとは思えませんが、もちろん、適切に動作することを望んでいます! 最終的にはWinサービスとしての実装も検討しましたが、諸事情により、まずはコンソールアプリとしての実装となります。
システム リソース、特に CPU と RAM の使用に関して最も無駄のない実装を探しています。 タイミング/ポーリングの実装と CPU 使用率が最も懸念されます。 大量のオブジェクトや GUI などが作成されるわけではないので、RAM の使用量はそれほど問題にはなりませんが、ガベージ コレクションを実行時間の長い .exe (月/年の意味で)?
ファイルシステムウォッチャー?
System.Timers.Timer?
スレッドスリープ?
他の?
実際、私がこれを書いているとき、最も単純な実装は、このタイプのタスクのためにすでに発明された多くの既存の「車輪」を再利用するという観点から、ポーリングをまったく行わず、単純に開始するように設計することです。アクションを実行して終了し、Windows スケジュール タスク インフラストラクチャにタイミングの側面を処理させます。しかし、とにかく投稿して、そのアイデアの検証と今後の参考のために一般的な情報を取得しました。ティ!
boost - 単純なポーリング実装でのブースト割り込み
特定の時間枠内にデータ リソースがアクセスされたかどうかをチェックし、そうでない場合は接続をクリアする単純なポーリング スレッド ( Boost 1.39.0 を使用) を開発しました。関連するコードは以下で確認できます。
私の懸念は 2 つあります。
1) スレッドを安全に閉じるために、スリープ中に割り込みを使用することは適切ですか? 割り込みはスリープが終了するのを待ちますか、それともすぐに割り込みますか? while ループをエスケープするためだけに、thread_interrupted 例外をキャッチしていることがわかります。
2) ほとんどの時間を眠っているスレッドを使用するのは無駄ですか? 標準 C++ で単純なポーリング メカニズムを実装するためのより良いパターンはありますか?
winapi - Win32 を使用してフォルダーを監視する
Win32 (最小ターゲットは XP) を使用してフォルダーの内容を監視する簡単な方法を探しています。可能であれば、ポーリング タイプのアプローチではなく、イベント ドリブンのアプローチを使用するとよいでしょう。事態を複雑にするために、監視フォルダーがネットワーク共有である場合があります。
私は本当に「新しいファイル」をキャプチャすることにのみ興味があります。ファイルの名前変更や削除について知らされなくても構いません。
イベント ドリブンの方法はありますか、それとも Win32 を扱うときの唯一の選択肢はポーリングですか?
api - Twitterから履歴データを取得する
研究プロジェクトでは、過去3か月分のTwitterメッセージを取得したいと思います。技術的な課題はさておき、これは可能ですか?レートリミッターを寄せ付けないために、ある種の低速ポーリングメカニズムを使用することによって?
Twitter APIには、「クライアントはページを介して最大3,200のステータスを要求し、タイムラインREST APIのパラメーターをカウントできます」と記載されています。これらは1時間あたりですか?一日あたり?または...今まで?
助言がありますか?理論的にも可能でしょうか?誰かが以前に似たようなことをしましたか?
ありがとう!マルコ
git - Gitリポジトリの変更に対するハドソン無限ループポーリング?
hudsonのgitプラグインはうまく機能します。ただし、ビルドスクリプトは、リポジトリ内のファイルのバージョン番号を更新し、コミットして、リポジトリにプッシュバックする必要があります。
ハドソンが変更をチェックするために次にポーリングすると、「変更」が再度ビルドされるとコミットが確認され、変更がコミットされるため、再度ビルドされてから、別の変更がコミットされるなど、無限ループに入ります。アイデア。
私はそれを停止し、各リポジトリで「git log」を実行し、gitls-treeHEADを使用して最新のコミットIDがまったく同じであることを比較しました
また、Hudsonは次のコマンドを実行して、変更を確認します。
git fetch + refs / heads / :refs / remotes / origin / git ls-tree HEAD
Hudson自体がワークスペースリポジトリからコミットをプッシュし、明らかにls-treeの結果が一致するため、このコマンドはどのようにして変更があったかを判断できますか?
ビルドを実行する前にls-treeの結果を保存し、最新のコミットがないものと比較する必要があるようです。ああ。その理論をテストするために、コミットをオフにしてみることができます。
とにかく、Hudsonのgitプラグインの問題を修正するのではなく、ビルドの最後にリポジトリが同一であり、Hudsonがそれを認識できるようにするにはどうすればよいですか。
これを修正する方法は?何か案は?
ウェイン