# -*- coding: utf-8 -*- # Author : Charley # Python : 3.8.10 # Date: 2024-09-13 10:46 import time import schedule import threading from loguru import logger from weika_bidding_spider import bidding_main from weika_change_card_by_id_spider import change_card_main from weika_sold_spider import sold_main logger.remove() logger.add("./logs/{time:YYYYMMDD}.log", encoding='utf-8', rotation="00:00", format="[{time:YYYY-MM-DD HH:mm:ss.SSS}] {level} {message}", level="DEBUG", retention="1 day") def run_threaded(job_func, *args, **kwargs): """ 在新线程中运行给定的函数,并传递参数。 :param job_func: 要运行的目标函数 :param args: 位置参数 :param kwargs: 关键字参数 """ job_thread = threading.Thread(target=job_func, args=args, kwargs=kwargs) job_thread.start() def schedule_task(): """ 两个爬虫模块的启动文件 bidding_main weika_change_card_by_id_spider change_card_main """ # 立即运行一次任务 run_threaded(bidding_main, log=logger) run_threaded(change_card_main, log=logger) run_threaded(sold_main, log=logger) # bidding_main(log=logger) # change_card_main(log=logger) # sold_main(log=logger) # 设置定时任务 # schedule.every().day.at("00:00").do(run_threaded,clean_logs) schedule.every().day.at("08:01").do(run_threaded, bidding_main, log=logger) schedule.every().day.at("00:01").do(run_threaded, change_card_main, log=logger) schedule.every().day.at("10:01").do(run_threaded, sold_main, log=logger) while True: schedule.run_pending() time.sleep(1) if __name__ == '__main__': schedule_task()