如何构造一个 APScheduler 触发器 class 传递给 add_job?
How to construct an APScheduler trigger class to pass to add_job?
我正在使用 APScheduler,我需要使用以编程方式创建的触发器选项列表来添加作业。也就是说,我无法编写将触发器参数直接传递给 add_job 的代码(例如 "second"="*/5" 等)。
文档中提到您可以创建触发器实例并将其作为触发器参数传递给 add_job,而不是 "cron" 或 "interval" 等
我想尝试这样做,因为触发器构造函数似乎采用 kwargs 样式参数,我应该能够将它传递给字典。
我还没有找到如何执行此操作的示例。我试过:
from apscheduler.triggers import cron
# skipping irrelevant code
class Schedules(object):
# skipping irrelevant code
def add_schedule(self, new_schedule):
# here I create trigger_args as {'second': '*/5'}, for example
trigger = cron(trigger_args)
失败并显示:类型错误:'module' 对象不可调用
如何实例化触发器对象?
我找到了解决我的主要问题的方法,但没有弄清楚如何创建触发器实例(尽管我仍然对如何创建触发器实例感到好奇)。
我遇到的主要问题是我需要以编程方式创建触发器参数。现在对 python 中的参数传递有了更多的了解,我发现如果我对 所有 参数进行 dict,而不仅仅是触发参数,我可以传递参数方式:
job_def = {}
#here 我以编程方式创建触发器参数并将它们添加到 dict
job_def["func"] = job_function
job_def["trigger"] = "cron"
job_def["args"] = [3]
new_job = self.scheduler.add_job(**job_def )
我正在使用 APScheduler,我需要使用以编程方式创建的触发器选项列表来添加作业。也就是说,我无法编写将触发器参数直接传递给 add_job 的代码(例如 "second"="*/5" 等)。
文档中提到您可以创建触发器实例并将其作为触发器参数传递给 add_job,而不是 "cron" 或 "interval" 等
我想尝试这样做,因为触发器构造函数似乎采用 kwargs 样式参数,我应该能够将它传递给字典。
我还没有找到如何执行此操作的示例。我试过:
from apscheduler.triggers import cron
# skipping irrelevant code
class Schedules(object):
# skipping irrelevant code
def add_schedule(self, new_schedule):
# here I create trigger_args as {'second': '*/5'}, for example
trigger = cron(trigger_args)
失败并显示:类型错误:'module' 对象不可调用
如何实例化触发器对象?
我找到了解决我的主要问题的方法,但没有弄清楚如何创建触发器实例(尽管我仍然对如何创建触发器实例感到好奇)。
我遇到的主要问题是我需要以编程方式创建触发器参数。现在对 python 中的参数传递有了更多的了解,我发现如果我对 所有 参数进行 dict,而不仅仅是触发参数,我可以传递参数方式:
job_def = {} #here 我以编程方式创建触发器参数并将它们添加到 dict
job_def["func"] = job_function
job_def["trigger"] = "cron"
job_def["args"] = [3]
new_job = self.scheduler.add_job(**job_def )