使用python-pyscheduler运行依赖任务



我正在尝试构建一个实用程序,它可以运行一些进程,但在生成进程之前,请从配置中读取其依赖项。我正在尝试使用pyscheduler,它实际上描述了我需要的pyschedule。

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脚本中提供依赖关系的可能方法是什么。

调度程序的"run"函数返回函数返回的对象列表。在您的示例中,获得空列表的主要原因可能是"test_function"没有返回任何内容。

如果您想将"function_kwargs"参数发送到"target_function",即,则需要使用该参数

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。

希望能有所帮助。

最新更新