0

あるシリアル ポートで既にメッセージをリッスンし、それらを別のシリアル ポートに転送する、サーバー上で実行時間の長い Python プログラムがあります。

そのプログラムが Web サーバー (最終的にはラップトップの Web ブラウザーからデータを取得する) からデータを受け入れるようにするには、どうすればよいですか?

これまでに見たオプションは次のとおりです。

  • 「サーバー上で実行されている python プログラムと通信する」サーバーの解決策は 、私にはうまくいかないようです。これは、Web サーバーが既にポート 80 で実行されている (他のページにサービスを提供している) ためです。

  • データをファイルに書き込む CGI スクリプトを用意し、実行時間の長いスクリプトがそのファイルからデータを読み取ります。フラッシュの消耗が懸念されるシステムでこれを行うのは少し気が進まない.

  • どういうわけか (?) 実行時間の長いスクリプトを FastCGI スクリプトに変換します。FastCGI スクリプトには、これまで実行していたすべての機能に加えて、Web サーバーからデータを受け入れるための新しい機能が含まれています。

  • どういうわけか (?) 実行時間の長いスクリプトを WSGI スクリプトに変換します。WSGI スクリプトには、これまで実行していたすべての機能に加えて、Web サーバーからデータを受け入れるための新しい機能が含まれています。

  • asynchat / asyncore / sockets / twistedを使用して長時間実行されるスクリプトと通信する Web サーバーが起動する簡単な Web スクリプトを作成します。同じサーバー上で実行されている Python スクリプトと Web サーバー (おそらくそれらの間に短時間の CGI スクリプトまたは FastCGI スクリプトを使用) を実行しています。

  • おそらく他のオプションですか?

Web サーバーが既に稼働している Python プログラムにデータを渡すための標準的な「pythonic」の方法はありますか? (Web サーバーが Python プログラムを開始し、新しく開始されたプログラムにデータを渡すというより一般的なケースではありません)。

(関係ないと思われる詳細: 私のサーバーは、Beaglebone Black で実行されている Ubuntu Linux で Lighttpd を実行しています)。

(おそらく、この質問はhttps://softwareengineering.stackexchange.com/に移動する必要がありますか?)

4

1 に答える 1