| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- # -*- 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()
|