Python脚本高级调度
我正在尝试做一件非常复杂的事情。使用一台Windows电脑,我想让一个脚本每半小时运行一次,工作日(周一到周五)早上9点到晚上7点之间运行,同时跳过我定义的某些日期,也就是“假期”。我希望这个脚本能由Python自己来运行。我查过'apschedule',但似乎找不到合适的选项来实现这个功能。如果通过Python无法做到这一点,还有什么其他解决方案可以考虑呢?
顺便说一下,目前我在使用Python 3.3,但如果有必要的话,我愿意降级。
1 个回答
2
给你的工作函数加个装饰器,这样就能跳过特殊的日子:
from datetime import date
def not_on(dates):
def noop(): pass
def decor(fn):
if date.today() in dates:
return noop
else:
return fn
return decor
@not_on( ( date(2013, 03, 01), ) )
def job():
print "yeah"
然后你只需要在正常的日期安排你的工作就可以了。如果在特殊日子调用这个工作,装饰器会自动跳过执行。
继续使用 apscheduler
就行了。