Python APScheduler定时执行任务:调度(schedule)一个能退出有出口的循环类型

场景:

即日起截止到2019年国庆节前,每周工作日的8点-20点,去指定目录查看一个文件当日是否存在,如果存在就拿来使用然后删除文件,如果不存在则每隔15分钟循环执行这个判断,直到文件出现在目录下,如果超过20点文件依然没有出现则不再执行循环。简易流程图如下所示。这里就模拟去桌面查找test.xlsx是否存在。

处理过程:

代码如下所示,因为是个定时任务,这里就不展示结果了。不知道怎么在APScheduler设置任务的结束时间,所以把结束时间加到if语句里面进行判断。

from apscheduler.schedulers.blocking import BlockingScheduler
import schedule
import os
from datetime import datetime
import time

def find_job():
    # 实际工作中这里需要替换成需要执行的.py文件
    print('execute ****.py %s' % datetime.now())

def remove_file():
    # 移除目录下的文件
    os.remove(dirpath + '\\' + file)
    # 验证文件是否已经从目录下移除
    if file in os.listdir(dirpath):
        print('remove file fail...')
    else:
        print('remove file success!')

def not_find_job():
    print('continue find ... %s' % datetime.now())

# 把not_find_job函数加入到调度中,设置时间为每隔15分钟执行一次
schedule.ever
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值