問題タブ [tornado]
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.
javascript - onunload イベントでサーバー (XMLHttpRequest?) に通知しますか?
クライアントがページを離れたときにサーバーに通知することは可能ですか (少しのデータで単一の HTTP 要求を作成します。応答は重要ではありません)。
私は実際にサーバーへのリクエスト接続を常に維持するjavascriptを使用してpython-tornado cometアプリケーションを使用しています(イベントで閉じられ、再度開かれます。これに基づいています: https://launchpad.net/eftw )。
これをデバッグする簡単な方法が見つかりませんでした (特に FireBug を使用)。それはそれをかなり問題にします。
ああ、そして実際のコード(とにかくある程度使えるので):http://bazaar.launchpad.net/~hoverhell/xftw/trunk/files
php - nginx「400 Bad Request」
私のphpスクリプトはcurlでURLを非常に簡単に呼び出します:
このURLで問題ありません。しかし、次のように変更した場合:
400 Bad Request nginx/0.7.62エラーがあります
これが私のnginx.confファイルです:
最も奇妙なことは、ブラウザで以下の URL を呼び出すと、機能することです!
python - 適切なチェック間隔を決定するにはどうすればよいですか?
CPU に問題があるトルネード アプリケーションの作業を開始したところです。CPU 時間は時間の経過とともに単調に増加し、CPU は 100% で最大になります。システムは現在、メイン スレッドをブロックしないように設計されています。ブロックする何かを実行する必要があり、非同期ドライバーが使用できない場合は、別のスレッドを生成してブロック操作を実行します。
したがって、ほぼ完全に CPU バウンドのメイン スレッドと、ほぼ完全に IO バウンドの他のスレッドの束があります。私が読んだことから、これは GIL で問題に遭遇する完璧な方法のようです。さらに、私のプロファイリングは、シグナルの待機に多くの時間を費やしていることを示しています (これは、私__semwait_signal
が行っていることであると想定しています)。
チェックsys.setcheckinterval
間隔を 300 に設定すると、CPU の成長が大幅に遅くなります。私が判断しようとしているのは、チェック間隔を増やすべきか、300 のままにしておくべきか、それとも怖がって増やすべきかということです。結局、CPU のパフォーマンスが向上していることに気付きますが、これがシステムの応答性に悪影響を与えるのではないかと少し心配です。
もちろん、正しい答えはおそらく、GIL を考慮してアーキテクチャを再考する必要があるということです。しかし、それはすぐにできることではありません。では、短期的に取るべき適切な行動方針をどのように決定すればよいのでしょうか?
python - epoll と kqueue の間に大きなパフォーマンスの違いはありますか?
私の開発マシンは MacBook です (もちろん kqueue があります)。ただし、本番環境では Linux (もちろん epoll を使用) を実行しています。明らかに、コードのパフォーマンス特性を知るには、epoll を使用してコードを実行する必要があります。とはいえ、kqueue で見られるパフォーマンスは、epoll で見られるパフォーマンスの適切な近似値ですか? または、パフォーマンスが大幅に異なる可能性がある状況はありますか? ほとんどの場合、kqueue と epoll はパフォーマンスの点でかなり似ているように見えますが、私はあまり徹底的なテストを行っていません。
違いがある場合は、Python で tornado を使用しています。
python - トルネードは本当にノンブロッキングですか?
Tornadoは、「比較的シンプルでブロッキングのないWebサーバーフレームワーク」として宣伝しており、C10k問題を解決するために設計されました。ただし、MySQLdbをラップするデータベースラッパーを見ると、次のコードに出くわしました。
私の知る限り、上に構築されたMySQLdbへの呼び出しlibmysqlclient
はブロックされています。
クエリが長時間実行されると、Tornadoサーバー全体が終了するまで応答しなくなる、またはコードに魔法がかかると思っているのは正しいですか?
python - POST 複数のチェックボックス値のトルネード
少し助けが必要なトルネード Web アプリをいじっています。同じ名前のチェックボックスが複数あり、選択したチェックボックスの値を POST したいと思います。
javascript pre-POST を使用してそれぞれの値を取得できますが、python (トルネード) 側でこのリストを取得するのに問題があります。選択した最高値のみを取得します。
Python 側では次のようになります。
...
python - Tornado リクエスト ハンドラ
何らかの理由で、MainHandler の外で set_cookie をインスタンス化できません。これは、何をしたいのかを示す小さなコードです。誰か助けてもらえますか?
何か案は?
python - PythonWebフレームワークとそれぞれのHTML5API実装を比較します
HTML5 API(WebSockets、Forms、WebWorkers、WebStorage、Communication、Geolocation、Canvasなど)の実装がある特定のPythonWebフレームワークに精通している場合。
次に、フレームワークの名前とそのHTML5機能をリストしてください。
python - Python Tornado-非同期関数が機能し続けている間、POSTをすぐに返す
だから私は以下のハンドラーを持っています:
私が直面している問題は、some_function()の実行に時間がかかることです。また、呼び出し時にpostリクエストをすぐに返し、可能であればsome_function()を別のスレッド/プロセスで実行したいと考えています。
私はデータベースとしてberkeleydbを使用していますが、私がやろうとしていることは比較的単純です。
それぞれにフィルターがあるユーザーのデータベースがあります。フィルタがメッセージと一致する場合、サーバーはメッセージをユーザーに送信します。現在、私は数千人のユーザーでテストしているため、POSTリクエストを介してメッセージを公開するたびに、数千人のユーザーを繰り返して一致するものを見つけます。これは、物事を行うための私の素朴な実装であり、したがって私の質問です。どうすればこれを改善できますか?
session - Redis の Tornado セッション
軽量の Tornado ベースのコメット サーバーを作成しています。状態を維持するために、「自己」オブジェクトを redis に保存したいと思います.これは機能しますか?
まず、自分自身をシリアライズしてRedisに保存することさえできません..
これがエラーです
これを行う方法について何か提案はありますか?