# -*- coding: utf-8 -*- ''' 全局定时 例子 scheduler.add_job(midnight_task, 'cron', hour=0, minute=0) # 每天定时执行 scheduler.add_job(test_error, 'interval', seconds=2) # 循环间隔多少秒执行 scheduler.add_job(weekly_task, 'cron', day_of_week='mon,wed,sat', hour=22, minute=30) # 添加定时任务,设置为每周一、三、六晚上10点30分执行 scheduler.add_job(lambda: apprcn.main(), 'cron', hour='0-23', minute=0) # 每天的每小时整点执行一次 ''' from apscheduler.schedulers.background import BackgroundScheduler import time # 日志类 import utils_daily_logs_generate import utils_daily_logs_send import utils_timing_remove_data # 新闻类爬虫 import news_get_apprcn import news_get_chiphell import news_get_hello_github import news_get_news import news_get_36kr_info import news_get_36kr_key # 大乐透 import spider_get_and_check_dlt # 发送新闻汇总邮件 import utils_news_data_collation print('\n 创建定时任务') # 创建 BackgroundScheduler 实例 scheduler = BackgroundScheduler() # 每天 0 点创建日志文件 scheduler.add_job(lambda: utils_daily_logs_generate.LogsHandle().logs_generate(), 'cron', hour=0, minute=0) # 每天 23.59 分发送当天日志 scheduler.add_job(lambda: utils_daily_logs_send.LogsHandle().logs_send(), 'cron', hour=23, minute=59) # 每周1,3,6 晚上 10 点 30 分执行 dlt scheduler.add_job(lambda: spider_get_and_check_dlt.Luanch().main(), 'cron', day_of_week='mon,wed,sat', hour=22, minute=30) # 创建任务对象 # 执行多个新闻爬取的任务 scheduler.add_job(lambda: news_get_apprcn.APPRCN().main(), 'cron', hour='3,6,9,13,15,18,21', minute=0) scheduler.add_job(lambda: news_get_chiphell.CHIPHELL().main(), 'cron', hour='3,6,9,13,15,18,21', minute=0) scheduler.add_job(lambda: news_get_hello_github.HelloGithub().main(), 'cron', hour='3,6,9,13,15,18,21', minute=0) scheduler.add_job(lambda: news_get_news.HotNews().main(), 'cron', hour='3,6,9,13,15,18,21', minute=0) scheduler.add_job(lambda: news_get_36kr_info.Get36krInfo().main(), 'cron', hour='3,6,9,13,15,18,21', minute=0) scheduler.add_job(lambda: news_get_36kr_key.Get36krKey().main(), 'cron', hour='3,6,9,13,15,18,21', minute=0) # 发送新闻汇总邮件的任务 scheduler.add_job(lambda: utils_news_data_collation.NewsDataCollation().main(), 'cron', hour='8,12,19,23', minute=0) # 启动调度器 scheduler.start() print('\n定时任务开始执行') # 为了防止程序退出,这里使用一个无限循环 try: while True: time.sleep(1) except (KeyboardInterrupt, SystemExit): # 关闭调度器 scheduler.shutdown()