現在、サーバー上のプログラムの起動、停止、調整などのさまざまな操作を行う自動ツールのセットを作成しています。ただし、異なるノード上でのデプロイ内容は同じであるだけではなく、様々な機能を持った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 ファイルを走査し、関数名を読み取り、どの関数を実行するかを決定することでした。しかし、この方法は後から拡張したりメンテナンスしたりするのが面倒な気がします。ぜひ話し合っていただければ幸いです
使用eval可以将字符串当作代码来执行,并返回结果:
用一个循环,遍历Json文件的所有items
将函数名和参数,转换为字符串。
eval执行字符串
处理返回值