安排作业仅在特定的一天在python中每5分钟运行一次

时间:2019-12-30 12:50:49

标签: python scheduler schedule

我只想在一周中的某一天每5分钟执行一次Cron作业。我正在使用python Schedule Library,可以单独完成这些工作。但是我该怎么打他们呢?

代码

import schedule

def check():
    print('Checking')

schedule.every(10).monday.do(check)
while True: 
    # Checks whether a scheduled task is pending to run or not 
    schedule.run_pending() 

星期一尝试时会出现错误IntervalError: Use mondays instead of monday,我得到一个错误AttributeError: 'Job' object has no attribute 'mondays'有人可以帮助我。

2 个答案:

答案 0 :(得分:1)

我认为schedule软件包不支持您想要的不同时间单位的组合。您可以实现以下目的:

import schedule
import time
import datetime

def job():
    if datetime.datetime.today().weekday() == 0:
        print("I'm working...")

schedule.every(5).minutes.do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

不过,这可能不是最优雅的解决方案。

答案 1 :(得分:-1)

您尝试使用“时间”吗?

import time
...

schedule.every().monday.do(job)

while True:
    schedule.run_pending()
    time.sleep(300)