python - 安排python,作业继续运行
问题描述
我将我的日程安排如下:
def job():
my code
schedule.every().day.at("06:03").do(job)
schedule.every().day.at("09:56").do(job)
schedule.every().day.at("13:47").do(job)
schedule.every().day.at("17:15").do(job)
schedule.every().day.at("20:34").do(job)
schedule.every().day.at("23:46").do(job)
schedule.every().day.at("02:57").do(job)
while True:
schedule.run_pending()
sleep(1)
但是,这项工作有时需要 1 小时,而有时需要 10 小时。当工作耗时最长(10 小时)时,就会出现问题。一旦它结束,时间表似乎决定再次运行它在这 10 小时内丢失的所有作业。
我该如何解决?
通常,当布尔值变为 True 时,作业需要休眠 10 小时,否则如果布尔值为 False,则作业需要大约 1 小时。是否可以通过如下调整无限循环来解决此问题?
while True:
if my_boolean == True:
sleep(10*60*60)
my_boolean == False
else:
schedule.run_pending()
sleep(1)
解决方案
推荐阅读
- vba - 如何处理错误 1004 的许多不同类型的错误
- html - 无法在具有边框左上角半径和边框宽度的三角形对象中创建圆角左上角
- c++ - 将项目添加到队列时运行线程
- amazon-web-services - 如何使用 AWS 生成的密码在 AWS CLI 上正确创建 IAM 用户?
- bash - 使用 git bash 丢失文件
- kubernetes - kubectl config use-context 删除 eks 用户
- android - Direction Api 在 Android 谷歌地图中不起作用
- javascript - Mongo - 通过_id更新嵌套的对象数组
- raku - 如何基于逗号分割字符串,但不基于双引号中的逗号
- firebase - Firebase 仅部署功能流程