python - 明天使用调度库运行一次作业
问题描述
schedule.wednesday.at("13:15").do(job)
使用此代码,我可以在星期三 13:15 运行函数。但我想做这样的动作,“第二天早上'10:00'运行函数”怎么做?
解决方案
换job
行返回schedule.CancelJob
,使其只运行一次。然后安排它在每天 10:00 运行。
def job_once():
job()
return schedule.CancelJob
schedule.every().day.at('10:00').do(job_once)
警告:如果当前时间在 10:00 之前,则作业将在当天10:00 运行。没有办法在schedule
库中定义初始延迟 - 但我们可以获得第二天的名称并在这一天安排。
import datetime
tomorrow = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime('%A').lower()
getattr(schedule.every(), tomorrow).at('10:00').do(job_once)
推荐阅读
- python - 如何在 Kivy 中的其他(非父级)小部件之上绘制子级?
- apache-kafka - 卡夫卡消费者群体的行为不平等
- css - ngx-admin 的颜色(ng-star-inserted)
- swift - 如何在 Xcode 游戏中添加评分功能并允许用户输入姓名?
- ruby-on-rails - 一家大型杂货连锁店的网站似乎阻止了我的网络爬虫收集网页上的信息
- amazon-web-services - AWS cloudwatch 正在截断日志
- firebase - 简单约会应用程序:为路径指定的安全规则
- python - Seaborn 热图:使用可点击的超链接进行注释
- javascript - ajax django表单仅提交部分数据
- python - Django - 即时创建 CSV 并将其保存到文件系统和模型文件字段