首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何导入要定时执行的python文件。使用调度

如何导入要定时执行的python文件。使用调度
EN

Stack Overflow用户
提问于 2021-03-12 17:23:11
回答 1查看 41关注 0票数 0

我正在尝试使用schedule在每个工作日的某个时间安排作业,并在该时间执行一个文件。问题是它按计划和不按计划运行validate.py。我希望它只在9:09的时候运行。

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-12 17:32:59

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66597243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档