1

デーモンと通信するために、web.pyを使用してWebサーバーを作成しようとしています。

目標は、HTTP経由でコマンドをweb.py(メインデーモンによって開かれたスレッドで実行される)に送信することです。次に、パイプを使用してコマンドをメインプログラムに送信します。

最終的なプログラムにはいくつかのプロセスとスレッドがあり、web.pyインターフェイスがソフトウェアのエントリポイントになります。

私の問題は、web.pyがリクエストごとに新しいクラスをインスタンス化するため、パイプをリクエストハンドラーに渡す簡単な方法が見つからないことです。フックやプロセッサを使ってみましたが、うまくいかないようです。

誰かがオブジェクトをweb.pyハンドラーに渡すことに成功しましたか?または、Webオブジェクトのどこかにオブジェクトを格納する方法はありますか?

4

1 に答える 1

1

私は解決策を見つけましたが、ドキュメントでは明確ではありません。

web.ctxを使用してload_hookを作成し、オブジェクトを保存しました。

def load_hook():
    web.ctx.pipe = input_p

app = web.application(urls, globals())
    app.add_processor(web.loadhook(load_hook))
    app.run()

その後、すべてのクラスでweb.ctx.pipeにアクセスできます。非常に簡単に実行できますが、ドキュメントで見つけるのは困難です。

于 2013-02-15T14:45:04.980 に答える