0

デーモンで実行されるねじれたサービスを作成するとき、twistdそれを構成可能にして、同じサービスに対して異なる構成で別のデーモンを実行したいと考えています。しかし、twistdデーモンはコマンドラインからのカスタム引数を受け入れない (少なくとも方法がわからない) ため、標準入力で構成ファイルを渡すことになります。

twisd -y myservice.py < my.cfg

そして、myservice.py私は次のものを持っています:

cfg = parseConfig(sys.stdin.read())
application = Application('myapp')
MyService(a=cfg.a, b=cfg.b).setServiceParent(application)

これは私にとってはうまく機能していますが、これを行うための正しい方法があるかどうか疑問に思っていますか?

4

2 に答える 2

1

これを行う Twisted の方法がここに文書化されているかのように見えます。

https://twistedmatrix.com/documents/12.0.0/core/howto/tap.html

CLI経由で使用できる「サブコマンド」を追加するプラグインを作成します

于 2013-11-01T06:49:40.137 に答える
0

また、プラグイン メカニズムを使用せずにオプションをもう 1 つ追加し、stdio- つまり環境変数を介して回避したいと考えています。

CONFIG my.cfg twisd -y myservice.py

変更されたコードで:

cfg = parseConfig(open(os.environ['CONFIG']).read())

(Linux の経験が限られているため、以前はこれについて考えていませんでした。)

于 2013-11-11T17:22:47.683 に答える