問題タブ [twisted.internet]
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 SSH サーバー (twisted.conch) はユーザーのコマンドを取得します
どのコマンドが実行されたかを知ることができる SSH デーモンをサーバーにデプロイしたいと考えています。しかし、ユーザーのコマンドを取得する方法がわかりません。twisted.conch.ssh.session に基づいて SSH サーバーを実現します。SSHSessionProcessProtocol の outReceived ですべての stdout を取得できますが、Linux($PS1) のプロンプトに大きく依存しているため、stdout からユーザーのコマンドを正確に抽出することは困難です。
python - Python ツイスト メモリ リークの問題
render_POST から上記のクラスを作成し、そのインスタンスの run_it メソッドを返しました
ただし、self.sql クエリがメモリ使用量が 500 MB に達する巨大なデータを返す場合、メモリが OS に戻されないことに気付きました。アプリケーションを再起動するまで、プロセスはそのまま保持されます。onResult 内で gc.collect() を実行しても運がありませんでした。
これはなぜですか?
注:onResultに渡された「データ」を実際に使用しなかったことを絞り込むことができるように、onResultから他のコードを削除する必要がありました。
twisted - ツイスト サイトでプロトコル メカニズムを構築する
サイト ファクトリで http 要求用のプロトコルが作成される方法と時期を理解しようとしています。ファクトリとプロトコルの動作については基本的な理解がありますが、ブラウザーからの単一の要求に対して複数のプロトコルが作成されているため、混乱が生じます。以下は、サンプル コードと出力です。
クロムを介してhttp://localhost:8888/の単一のリクエストからログに記録します
以下は私の質問です
1) 上記のように、3 つの異なるポートからの要求に対して作成された 3 つの異なるプロトコルがあります。これは予想される動作ですか?リクエストごとに 1 つのプロトコルが必要ではないでしょうか?
2) リクエストの有効期限が切れたとき、またはプロトコルが閉じられたときに何らかのアクションを実行する必要がある場合、どのプロトコルを調べる必要がありますか?
twisted - Twisted での Protocol.dataReceived の inlineCallbacks
と のルールを誤解しているようdataReceived
ですinlineCallbacks
。
より具体的には、これを行うと:
私のプロトコルは実際にデータを送信しますが、これを行うと:
何も受信せず、接続が閉じます。ここでは defer.returnValue も役に立ちません。動作はまったく同じです。
親切に説明してください。
python - Autobahn Asyncio ReconnectingClientFactory
asyncio で asyncioを作成したいReconnectingClientFactory
と思います。特に、クライアントの起動時にサーバーが利用できない場合に対処するためです。この場合、ReconnectingClientFactory
は試行を続けます。それは、asyncio.events.create_connection
がしないことです。
具体的には:
EchoClientの例は問題ありません。核心は、接続がどのように行われるかです。
ツイストバージョンの場合はReconnectingClientFactory
.
対
またはasycnioバージョンと同様です。
問題は、asyncio バージョンでは接続が確立されasyncio.events.create_connection
、サーバーが利用できない場合に失敗することです。
どうすれば2つを調和させることができますか?
どうもありがとう
python - メインスレッドが実行を完了しないようにする最良の方法
いくつかのジョブ モニターによって完全にスケジュールおよび監視されているアプリケーションは、JMSMessageListener を実装しています... このメイン スレッド (JMS キューに自身を登録している) が実行を終了しないようにする最善の方法は何ですか。そうしないと、ジョブ モニターはこのジョブを完了としてマークしますが、メッセージ イベントでは広告が代わりに機能するはずでした。
2つの方法があります-
第1の方法
インポートタイマー
その他のタスク... メッセージの JMS キュー登録
timer.sleep(_LONG_TIME) # これにより、実行が中断されなくなります
2番目の方法-
twisted.internet インポート リアクターから
その他のタスク... メッセージの JMS キュー登録'''
Reactor.run() # これにより、reactor に実行制御が送信されます
これを理解した今...スレッドをスリープ状態にしても、CPUとマシンのリソースには影響しません。何が起こっているのかよくわかりませんが、制御がリアクターに移動したら?
python - Twisted リクエストの内容をプロセスの STDIN にパイプする
HTTP POST または PUT の内容をプロセスの STDIN にパイプしようとしています。私は Klein ライブラリを使用しており、次のコードがあります。
私が苦労している問題は、 のどの部分をRequest
my に渡しCurlProcProtocol
、それをどのように に渡すかということself.transport
です。