2017-02-04 2 views
0

いくつかのプロセスを実行する可能性のあるユーティリティをビルドしようとしていますが、プロセスを起動する前にその依存関係をconfigから読み込みます。私は実際に必要なものを記述するピッチスケーラを使用しようとしていますpyScheduler依存性のあるタスクを実行するためにPython Pyschedulerを使用する

from pyscheduler.serialScheduler import SerialScheduler 
>>> def test_function(): 
...  print "Called test_function" 
... 
>>> scheduler.add_task(task_name = "1", dependencies = ["2","3"], description ="",target_function = test_function ,function_kwargs={"this":1}) 
>>> scheduler.add_task(task_name = "2", dependencies = ["4"], description ="",target_function = test_function ,function_kwargs={"this":2}) 
>>> scheduler.add_task(task_name = "3", dependencies = ["5","6"], description ="",target_function = test_function ,function_kwargs={"this":3}) 
>>> scheduler.add_task(task_name = "4", dependencies = [], description ="",target_function = test_function ,function_kwargs={"this":4}) 
>>> scheduler.add_task(task_name = "5", dependencies = [], description ="",target_function = test_function ,function_kwargs={"this":5}) 
>>> scheduler.add_task(task_name = "6", dependencies = [], description ="",target_function = test_function ,function_kwargs={"this":6}) 
>>> scheduler.run() 
[] 

なぜ空リストがありますか? 私のpythonスクリプト内ではなく、外部の設定ファイルに依存する可能性が高い方法は何でしょうか。

答えて

0

スケジューラの「実行」機能は、関数によって返されるオブジェクトのリストを返します。あなたの例では、空リストを得る主な理由は、 "test_function"が何も返さないということです。

あなたは「target_function」すなわち

def test_function(function_param): 
    print "funtion called with param"%function_param 
    return function_param 

あなたが「function_kwargs」を設定することにより、「function_param」を変更することができますし、それらを送信する場合は、「function_kwargs」パラメータでプレーすることになるでしょう。 Ex。

..., function_kwargs={"function_param": 2}) 

関数は "2"を返す必要があります。また、返されたリストにも2が表示されます。

希望します。

関連する問題