問題タブ [twisted.application]
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 - 別のサービスを開始する前に、ねじれたサービスが開始するのを待ちます
twisted のアプリケーション フレームワークを使用するプロキシ サーバーを作成しました。コアでは、DHT を使用して問題を解決します。DHT クライアントの起動には数秒かかるため、DHT の準備が整った後にのみプロキシが接続を受け入れるようにしたいと考えています。
EntangledDHT
を、サービスを開始する前に Twisted が待機するある種のサービスにするにはどうすればよいCosipProxy
ですか? 私のためにこれを行うツイストのメカニズムはありますか? またはdht.ready
、アプリケーションの残りの部分を作成するコールバックを追加する必要がありますか? ありがとう
python - PyDev でねじれたアプリケーションを実行する
Eclipse (3.5.2) PyDev モジュール (1.6.4) と Python (2.6.5) を使用して Twisted Application (10.0.0) をデバッグしたいと思います。コマンド ラインからアプリケーションを実行するには、次のように指定します。
c:\python26\python c:\python26\scripts\twistd.py -ny mytwistedapp.py
PyDev を使用してこれを実現するために、新しい PyDev プロジェクトを作成し、mytwistedapp.py と twistd.py をインポートしました。プロジェクトの実行構成の下で、メイン モジュールとして c:\python26\scripts\twistd.py を指定しました。Run -> Debug Configurations を選択すると、パラメーターなしで twistd.py が実行されます (途中までですよね?)。プログラム引数を実行構成 (-ny mytwistedapp.py) に追加しようとすると、twistd.py ではなく PyDev デバッガーによって処理されます。2 つの質問:
- twistd.py をメイン モジュールとして指定するのは正しい方法ですか?
- もしそうなら、twistd.py に mytwistedapp.py (-ny mytwistedapp.py) を実行するために必要なパラメーターを渡すにはどうすればよいですか?
python - ツイストで開始したアプリケーションを正常に終了する方法は?
stdinから読み取り、PubSubメッセージを投稿しているjabberクライアントがあります。stdinでEOFを取得した場合、クライアントを終了したいと思います。
最初に試しsys.exit()
ましたが、これにより例外が発生し、クライアントが終了しません。その後、検索を行ったところreactor.stop()
、電話する必要があることがわかりましたが、これを機能させることができません。私のクライアントの次のコード:
結果はexceptions.AttributeError: 'module' object has no attribute 'stop'
ツイストでアプリケーションをシャットダウンして終了するにはどうすればよいですか?
編集2
元の問題は、いくつかのシンボリックリンクがモジュールのインポートを台無しにしたことが原因でした。その問題を修正した後、新しい例外が発生します。
例外の後、twistedはシャットダウンします。MyClient.loop
これは、の呼び出しが原因である可能性があると思いますMyClient.connectionInitialized
。おそらく私は後でまで電話を延期する必要がありますか?
編集
これが私のクライアントの.tac
ファイルです
私が呼び出しているのは
MyClientのコードは次のとおりです。
twisted - twistd でデーモン化された非 Twisted ベースの Python スクリプトを実行する
サーバー (Twisted を使用) とクライアント (Twisted なし) で構成される Python プログラムを作成しています。
サーバー部分は Twisted と Twisted のアプリケーション フレームワークを使用して実装され、Twistd で起動されてデーモン化されます。
別のサーバーで実行されるクライアントは、Twisted のものを一切含まない (そしてアプリケーション フレームワーク固有のものを含まない) 単純な Python スクリプトです。また、デーモンとして実行する必要があります。参考までに、これはソースです:
Twistd でもクライアントをデーモン化できるのでしょうか? したがって、クライアントから Twisted-Application を作成する必要がありました。しかし、私が見たすべての例は、クライアントが使用していない Twisted インターネットサーバーのもの (私の場合は internet.UDPServer...) を実装する Twisted アプリケーションに関するものです。
Twistd を使用してクライアントをデーモンとして起動することは可能ですか? また、どのような変更を加える必要がありますか? Twisted をフルに活用するには、クライアントを書き直す必要がありますか? はいの場合、Twisted ベースのネットワーク クライアントを作成する方法と同様の例はありますか?
または、クライアントに別のデーモン化ライブラリを使用する必要がありますか? そのための優れたライブラリがありますが、一貫性を保ち、クライアントとサーバーに同じデーモン化メカニズムを使用しようとしています。
python - Python /twistedで「nonetype」not iterableエラーが発生しています
セルの内容を評価しようとすると、次のエラーが発生する理由を理解しようとしています。一部の関数が返されないか、このような仕組みがわかりません。
ここにコードの関連部分があります(私が思うに):これが私はデータを渡しますか?
確かに、これは自分の仕事によるものではありません。私はそれについてほとんど理解しておらず、かなり古くなっています。ここにコードの詳細があります: github python file
[編集] ここにもう少しあります: 初期化:
これがエンジン オブジェクトです。
[2回目の編集] Enginebusの定義は次のとおりです。
編集:最終的に解決しました:これが差分です:
ここにコンテキストがあります:backend/engine.pyのgithubのコミット差分
twisted - ツイスト:別のアプリケーションデーモンからアプリケーションデーモンを生成します
ツイストによって起動されるツイストアプリケーションデーモンがあります。このデーモンは、他の多くのTwistedアプリケーションデーモンを管理するデーモンマネージャーとして機能します。TCPを介してマネージャに「新しい」コマンドを送信できます。マネージャは別のツイストアプリケーションデーモンを生成(フォーク)する必要があります。私の質問はどうすればそれができるのかということです。フォークした後、マネージャーのリアクターループを停止し、開いているファイル記述子(ログファイル)を閉じてから、新しいTwistedアプリケーションデーモンを実行する必要があると思います。これらを正しく行う方法の詳細を知りたいです。
python - ねじれた複数のポート
私は複数ポートのアプリケーションで作業しています。私の問題は、使用するデコーダーに関するものです。コードで説明させてください。
これは私の tac ファイルです。構成ファイルから使用するポートを読み取ります。この構成ファイルには、クライアントをリッスンするポートのセクションがあり、受信したデータのデコーダーもあります。
ご覧のとおり、構成ファイルでデコーダーが検索されることを伝え始めます
My Server、接続を開始するたびに、サーバーは工場出荷時に割り当てられたデコーダーを使用する必要があります。
問題は、少なくとも私が気づいたのは、常に、1つが開始されるたびに、最後の1つのデコーダーが開始されることです。ご覧のとおり、この場合、常にgt06が使用され、ポートに従ってデコーダーを使用する必要があります、これは私のログです。2013-05-04 11:29:56-0500 で、デコードに使用されるクラスが変更されていることがわかります。
python - osx で欠落している python3 部分のツイスト モジュール
OSX の python3 ではツイストの部分しか見つかりませんが、python2 では完全です。
ここにはいくつかの重要なパッケージがありません。
完全なパッケージをダウンロードしてもpip3を実行しても同じ結果になります
また