我一直在使用优秀的schedule
图书馆来开展各种工作,但有一件事我无法找到。
每10分钟运行一次作业的Python代码如下所示:
schedule.every(10).minutes.do(job)
问题是:我如何优雅地将时间单位作为变量?我想做这样的事情:
interval = 3
time_unit = 'hours'
schedule.every(interval).units(time_unit).do(job)
每3小时运行一次工作。使用变量可以使计划可配置。
除上述示例不起作用外:units
成员仅为可读值。
eval
并不安全。
答案 0 :(得分:0)
我已经回答了我自己的问题。感谢那些回复的人。
# specify time interval units as a variable in code...
interval = 3
time_unit = 'hours'
schedule.every(interval).set_units(time_unit).do(job)
schedule
库中的修补程序(类Job) - 添加以下方法:
def set_units(self, unit):
self.unit = unit if unit[-1] == 's' else unit + 's'
return self