2017-02-04 215 views
0

我想构建一个实用程序,它可以运行一些进程,但在产生进程之前,从配置中读取它的依赖关系。我正在尝试使用pyscheduler,它实际上描述了我需要的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”与“function_kwargs”参数打即

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

您可以通过设置“function_kwargs”改变“function_param”。防爆。

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

该函数应该返回“2”,您应该也会在返回的列表中看到2。

希望它有帮助。