問題タブ [twisted]
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.
python - Python Twisted とデータベース接続
私たちが取り組んでいるプロジェクトには、同期アプリケーション (短命) と非同期 Twisted アプリケーション (長命) が含まれます。データベースをリファクタリングし、API モジュールを構築して、そのモジュール内のすべての SQL を分離します。その API を作成して、同期アプリケーションと非同期アプリケーションの両方で使用できるようにしたいと考えています。同期アプリケーションの場合、MySQLdb を使用するのと同じように、データベース API への呼び出しでデータを返す (ブロックする) だけにしたいのですが、非同期アプリケーションの場合は、同じ API 関数/メソッドへの呼び出しをブロックしないで、おそらく返すようにしたいと思います。延期。これを行うために私に提供するヒント、提案、またはヘルプはありますか? 前もって感謝します、ダグ
python - Python、Asyncore、フォーク
手始めに、ForkMixInとThreadMixInの両方でTwistedとSocketServerを使用し、「スレッドプール」受信を試しました。
しかし、私はPythonで何か特別な機能を作りたかったのです。
少し背景。以前、私はCで、ソケットにバインドしてそれをリッスンする単純なTCPデーモンを作成し、Xを何度もプリフォークしてから、サーバーソケットの説明をすべてのフォークに渡すだけで、誰もが非常に結婚してクライアントを受け入れました。
私はたくさん好きな「select/poll」ベースの非同期をチェックしました。私の唯一の強みは、マルチCPUマシンを利用するために数回フォークして、スケジューリングで最高のものを期待することで、CPUを少し解放できることでした。
私はそれを私の人生のために働かせることができません。接続を受け入れることができるのは1つのインスタンスのみであり、他のすべてのインスタンスは接続の処理時に例外をスローするだけで、「空を介して反復することはできません」。
これも実現可能ですか?たくさんチェックしましたが、非同期ディスパッチャーをフォークするためのコードが見つかりませんでした(叫び)
ありがとうございました!
更新1:(要求に応じて完全なトレースバック)
asyncore.loopなどの前にフォークしたかどうかに関係なく、常にacceptで発生します。
アップデート2:(フルソース) pastebinedソース
python - Twisted によるノンブロッキング ファイル アクセス
ツイストを使用したファイルアクセスの事実上のパターンがあるかどうかを把握しようとしています。私が見た多くの例 (twisted.python.log、twisted.persisted.dirdbm、twisted.web.static) では、実際にはファイル アクセスのブロックについて心配していないようです。
おそらくabstract.FileDescriptorから継承し、すべてのファイルアクセスがプロデューサー/コンシューマーとして通過する必要がある、明らかなインターフェースが必要なようです。
私は何かを見逃していましたか、それとも非同期プログラミングでのツイストの主な用途はネットワーキングであり、非ブロック IO の純度を心配せずに、他のファイル記述子操作については実際には解決されていませんか?
python - ツイストサーバー用の「リモートコンソール」はありますか?
ツイストサーバーを開発しています。メモリ使用量を制御する必要があります。コードを変更し、メモリロギングコマンドを挿入してサーバーを再起動することはお勧めできません。heapyコマンドを入力してサーバーからの応答を直接確認できるように、「リモートコンソール」を使用する方が良いと思います。必要なのはリモートコンソールだけです。自分でコンソールを作成することはできますが、ホイールを再構築するのは好きではありません。私の質問は:ツイスト用のリモートコンソールはすでにありますか?
ありがとう。
python - Twisted Spread はマルチプレイヤー レーシング シミュレーションに適していますか?
Twisted Spread は (パフォーマンスの点で) マルチプレイヤー レーシング シミュレーターに適していると思いますか? アプリケーションの残りの部分は、Python-Ogre に基づいています。
Perspective Broker は (信頼できる?) UDP で実行できますか?
python - TwistedのFTPClient.retrieveFileメソッドによって取得されたファイルの完全性をチェックします
私は、パートナーの1人に雇われた下請け業者からの着信マルチメディアコンテンツのゲートキーパーとして機能するカスタムftpクライアントを作成しています。ローカルでファイルをディスクに書き込む前にファイルの内容を解析できるため、twistedを選択しました。とにかく、twistedを探索する機会を探していました。'twisted.protocols.ftp.FTPClient.retrieveFile'を使用してファイルを取得し、エスケープされたパスをファイルに渡し、プロトコルを'retrieveFile'メソッドに渡します。コールバックのイベントハンドラーがファイルをローカルでディスクに書き込んでから、ftpサーバーからリモートファイルを削除するため、ファイル全体が取得されたことを絶対に確認したいです。クライアント。私の質問は、私は本当にこれについて心配する必要があるのかということです、
twisted - Scrapyスパイダーのツイストエラー
Scrapyチュートリアルからスパイダーを実行すると、次のエラーメッセージが表示されます。
--- <exception caught here>
---
誰かが彼らが何であるか、そして私がそれらをどのように取り除くことができるか知っていますか?
ありがとう
python - Reactor.iterate が Py2exe でプログラムをブロックしているようです
私は現在、非常にうまく動作するPythonでアプリケーションを使用していますが、py2exeで変換しているとき、アプリケーションは最初の「reactor.iterate」で中断されているようです
Ctrl+C を押してアプリケーションを停止するたびに、エラーは常に同じで、アプリケーションは「reactor.iterate(4)」でブロックされているようです。
この問題は、通常の Python インタープリターでは発生しません。
アイデアはありますか?
python - twistd をルートとして実行すると、モジュールが見つかりません
Twisted で書かれた単純な Web サーバーがあり、それをtwistdでデーモン化して起動しようとしています。すべて正常に動作しますreactor.run()
が、(ルートとして)使用するtwistd -y
と、直接の子ディレクトリにあるパッケージが見つかりません。サーバーはポート 80 で実行されているため、root として twistd を実行しています。twistd のマンページには次のように書かれています。
twistd が root として実行されている場合、作業ディレクトリで Python モジュールが検索されないことに注意してください。
それは素晴らしいことですが、なぜですか?どうすれば回避できますか?--rundir .
そのオプションを明示的に設定しても、twistdは無視しているようです。