from datetime import date, datetime

import time
import os
from apscheduler.schedulers.background import BackgroundScheduler


def tick():
    print("tick ! the time is : %s" % datetime.now())
    os.system("python 抓取.py")  #以通过命令行形式调用我的目标py函数


if __name__ == "__main__":
    scheduler = BackgroundScheduler()

    scheduler.add_job(tick, 'interval', minutes=60, start_date="2021-8-25 17:01:00")
  '''
    在这个add_job里面设置好开始时间，也可也设置结束时间，可以说设置模式，
    start_date="2021-8-26 21:09:00", end_date="2021-8-26 21:02:00"
    我这里设置为'interval、意思就是每隔一端时间就运行一下，运行时间可以设置为days,minutes,seconds,都行
    每隔 1分钟 运行一次 job 方法
    scheduler.add_job(job, 'interval', minutes=1, args=['job1'])
    在 2019-08-29 22:15:00至2019-08-29 22:17:00期间，每隔1分30秒 运行一次 job 方法
    scheduler.add_job(job, 'interval', minutes=1, seconds = 30, start_date='2019-08-29 22:15:00', end_date='2019-08-29 22:17:00', args=['job2'])
    '''
    scheduler.start()

    print("Press Ctrl + {0} to exit".format('Break' if os.name == 'nt' else 'C'))
    try:

        while True:
            time.sleep(600)
            print(f"sleep! - {datetime.now()}")

    except (KeyboardInterrupt, SystemExit):
        scheduler.shutdown()
        print("Exit The Job !")