python schedule以及自定义定时任务

if __name__ == '__main__':
    # schedule 定时模块用于周以下的定时比较方便,如果涉及月等多个自定义定时则力所不及
    # #schedule方法是串行的,也就是说,如果各个任务之间时间不冲突,那是没问题的;如果时间有冲突的话,会串行的执行命令
    
    #每隔十分钟执行一次任务
    # schedule.every(10).minutes.do(main)
    #每隔一小时执行一次任务
    # schedule.every().hour.do(main)
    #每天的10:30执行一次任务
    # schedule.every().day.at("10:30").do(main)
    #每隔5到10天执行一次任务
    # schedule.every(5).to(10).days.do(main)
    #每周一的这个时候执行一次任务
    # schedule.every().monday.do(main)
    #每周三13:15执行一次任务
    # schedule.every().wednesday.at("13:15").do(main)
    #每周五4点01执行一次
    # schedule.every().friday.at("04:01").do(main)
    
    # while True:
          #run_pending:运行所有可以运行的任务
    #     schedule.run_pending()
    #     time.sleep(1)
    
  #下面则为自定义多个时间定时任务,可根据自己需求修改  配合https://www.cnblogs.com/HugJun/p/11936722.html
    while True:
        # 当前日期
        date_day = datetime.datetime.now().strftime('%Y-%m-%d %H:%M')
        # 每月16号
        date_16 = datetime.datetime.now().strftime('%d %H:%M')
        # 每月1号
        now = datetime.datetime.now()
        this_month_start = datetime.datetime(now.year, now.month, 1).strftime('%Y-%m-%d') + ' 10:01'

        # 星期一
        this_week_start = str(now - datetime.timedelta(days=now.weekday())).split(' ')[0] + ' 10:01'
        # 星期五
        this_friday = str(now + datetime.timedelta(days=4 - now.weekday())).split(' ')[0] + ' 10:01'
        # print(date_day)
        # print(this_friday)

        # if :
        if date_day == this_month_start or date_16=='16 10:01' or date_day == this_week_start or date_day == this_friday :
            main()
            time.sleep(30)
        else:
            time.sleep(20)
 
原文地址:https://www.cnblogs.com/HugJun/p/12861114.html