現在、サーバー上のプログラムの起動、停止、調整などのさまざまな操作を行う自動ツールのセットを作成しています。ただし、異なるノード上でのデプロイ内容は同じであるだけではなく、様々な機能を持ったPython関数が用意されていることが前提となります。次に、json データなどの外部情報を読み取り、これらの関数の実行順序とパラメータを決定します。これを実現する方法を教えてください。
たとえば、次の 3 つのビジネス関数があります: 関数 関数 1 (パラメーター 1、パラメーター 2) 関数 関数 2 (パラメーター 1、パラメーター 2、パラメーター 3) 関数 関数 3 (パラメーター 1)。
次に、{{{'funcname':'Function function 2'},{'parameter':[para1,para2,para3]}},{{'funcname':'Function function 1'}, { を読みました。 'parameter':[para1,para2]}}}
次に、プログラムは関数 2、関数 1 の順序に従い、パラメーターのパラメーターを読み取って、この一連の動作を実行します。
(実際、自動化ツールとしては、タイムリーなフィードバック情報が必要です。各関数の実行後、戻り情報が読み取られます。エラーが発生した場合は、プログラムが即座に中断され、情報が報告されます)またはログに記録されます。つまり、実行されるたびに機能関数が完了した後、戻り結果を判断するための簡単なプログラムも実行されます)
ここで注意すべきは、実行される関数の数は不確実であり、その順序も不確実であるということです。私がすぐに思いついた最も愚かな方法は、外部の json ファイルを走査し、関数名を読み取り、どの関数を実行するかを決定することでした。しかし、この方法は後から拡張したりメンテナンスしたりするのが面倒な気がします。ぜひ話し合っていただければ幸いです
女神的闺蜜爱上我2017-06-14 10:55:27
eval を使用して文字列をコードとして実行し、結果を返します:
リーリーループを使用して Json ファイルのすべての項目を走査します
関数名とパラメータを文字列に変換します。
評価実行文字列
戻り値の処理