我正在尝试使用schedule在每个工作日的某个时间安排作业,并在该时间执行一个文件。问题是它按计划和不按计划运行validate.py。我希望它只在9:09的时候运行。
from dateutil import rrule
from datetime import datetime, timedelta
import time
import schedule
import requests
import validate.py
def job():
execfile("validate.py")
start_hour = datetime.strptime("09:09:26","%H:%M:%S")
end_hour = start_hour + timedelta(hours=7)
for t in rrule.rrule(rrule.HOURLY, dtstart=start_hour, until=end_hour):
schedule.every().monday.at(t.strftime("%H:%M")).do(job)
schedule.every().tuesday.at(t.strftime("%H:%M")).do(job)
schedule.every().wednesday.at(t.strftime("%H:%M")).do(job)
schedule.every().thursday.at(t.strftime("%H:%M")).do(job)
schedule.every().friday.at(t.strftime("%H:%M")).do(job)
while True:
schedule.run_pending()
time.sleep(1)发布于 2021-03-12 17:32:59
import pytz
from apscheduler.schedulers.blocking import BlockingScheduler
def job():
execfile("validate.py")
if __name__ == '__main__':
timez = pytz.timezone(YOUR_TIMEZONE)
scheduler = BlockingScheduler(timezone=timez)
scheduler.add_job(job, "cron", day_of_week="1-5", hour=9, minute=9)
scheduler.start()BlockingScheduler可能对你的案子很有用。参数:与'Asia/Shanghai'类似的YOUR_TIMEZONE
https://stackoverflow.com/questions/66597243
复制相似问题