私は現在、サーバーに接続する単純なアプリケーションをPythonで開発しています。現時点では、シングルスレッド化されています(マルチスレッド化は現在必要ありません)。実行中のプロセスのPython REPL
しかし、デバッグやメンテナンスなどのために、標準入力からREPLを使用できるようにしたいと思います。
可能であれば、どうすればよいですか?何かを念頭に置いておく必要がありますか?私はそれのための別のスレッドを作る必要がありますか?
私は現在、サーバーに接続する単純なアプリケーションをPythonで開発しています。現時点では、シングルスレッド化されています(マルチスレッド化は現在必要ありません)。実行中のプロセスのPython REPL
しかし、デバッグやメンテナンスなどのために、標準入力からREPLを使用できるようにしたいと思います。
可能であれば、どうすればよいですか?何かを念頭に置いておく必要がありますか?私はそれのための別のスレッドを作る必要がありますか?
this質問が役立ちます。カスタマイズしてREPLを作成するには少し修正することができます。
ノンブロックまたはスレッドを使用する必要があります。
私は個人的に、並行性のためにTwistedを使用します。これは、統合が容易なREPLプロトコルも提供しています。
rfooもあります。 READMEから:
RCONSOLE - rfooパッケージに含ま 実行中のスクリプトの名前空間を検査し、変更するために使用することができ 自動補完、とのリモートPythonのコンソールがあります。スクリプトでアクティブにする
は行います
from rfoo.utils import rconsole
rconsole.spawn_server()
をシェルから添付するに行います
$ rconsole
SECURITY注:
RCONSOLEリスナーが使用を開始しますspawn_server()はすべてのローカルを受け入れます。したがって、共有ホスト または類似の環境で使用することは危険です。
+1:twistedはマンホールも提供しています。あなたのアプリケーションにSSHを適用し、実行中にREPLと対話できるサービスです。 – nosklo
私はこれを行かせるつもりです。私が必要とするもののように聞こえる。 – cwj