カスタム構成スクリプトを実行するための簡単なコマンドラインインターフェイスを提供する私のサーバーで実行しているpythonスクリプトを作成しました。私はこれまでのところ、これを行うために、CMDモジュールを使用したことだし、それは素晴らしい仕事をしています:Pythonのcmdモジュールを複数のTCPクライアントでリモートで使用できますか?
from cmd import Cmd
class MyPrompt(Cmd):
def do_run1(self, args):
print("running config1")
def do_run2(self, args):
print("running config2")
if __name__ == '__main__':
prompt = MyPrompt()
prompt.prompt = '> '
prompt.cmdloop('Starting prompt...')
私はまた、TCPサーバーを開き、新しいthread.Clientsでリモートクライアントをリッスンします別のスクリプトを作成した設定を送信することができますサーバとサーバへのコマンドはそれらを実行し、出力を返します。現在、クライアントは非常に基本的です。それは何かを送ることができ、cmdモジュールが提供するすばらしいインターフェースにアクセスすることはできません。受信したメッセージを解析し、クライアントが実行したいコマンドを(別の長いパーサーを介して)把握するのはサーバーにとっても同じです。
私はこれらの2つのスクリプトを組み合わせようとしていますが、私はそうする最良の方法を考え出すのに多くの問題があります。サーバー上の誰かがローカルでcmd lscriptを使用できるようにしたいのですが、cmdスクリプトがリモートクライアントを受け入れ、同時にcmdプロンプトにアクセスできるようにします。また、私はローカルに入力されたコマンドのための方法と、リモートクライアントから送られたコマンドを一度に1つずつ実行するためにキューに追加するコマンドが必要です(各コマンドは実行に数分かかり、平行)。
リモート接続をサポートするためにcmdスクリプトを拡張する方法の例やガイダンスはありますか?私はどこから始めるべきか分かりませんし、どんな助けにも非常に感謝しています!