Kev*_*vin 3 python scheduling python-2.7
我有一个每 30 分钟运行一次的脚本,但有一个部分我只想在每月第一天的凌晨 2:00 运行。我schedule在 Python 中使用,但我不知道如何为该月的第 1 天设置它。
month似乎没有在定义的参数中schedule做类似的事情schedule.every().month.at("02:00").do(job2)
有什么建议?我正在使用 python 2.7
简化代码:
from safe_schedule import SafeScheduler
import time
def job():
print "I'm working...",
return
def scheduler():
# Schedule every30min routines
print 'Starting Scheduler'
scheduler = SafeScheduler()
scheduler.every(30).minutes.do(job)
#scheduler.every().month.at("02:00").do(job2)
while True:
scheduler.run_pending()
time.sleep(1)
if __name__ == '__main__':
scheduler()
Run Code Online (Sandbox Code Playgroud)
该库的主要贡献者不鼓励这种事情,请参阅https://github.com/dbader/schedule/issues/73#issuecomment-167758653。
然而,如果你坚持,你可以安排每天的工作,但只有在当月的 1 号时才运行它。
from datetime import date
from safe_schedule import SafeScheduler
def job2():
if date.today().day != 1:
return
# actual job body
scheduler = SafeScheduler()
scheduler.every().day.at("02:00").do(job2)
Run Code Online (Sandbox Code Playgroud)
在其中一个问题评论https://github.com/dbader/schedule/issues/73#issuecomment-356769023 中描述了另一种选择。
| 归档时间: |
|
| 查看次数: |
5226 次 |
| 最近记录: |