start_cxx_spider.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # -*- coding: utf-8 -*-
  2. # Author : Charley
  3. # Python : 3.10.8
  4. # Date : 2026/1/29 16:31
  5. import time
  6. import schedule
  7. import threading
  8. from loguru import logger
  9. from super_vault_daily_spider import cxx_daily_main
  10. from super_vault_on_sale_spider import cxx_sale_main
  11. logger.remove()
  12. logger.add("./logs/{time:YYYYMMDD}.log", encoding='utf-8', rotation="00:00",
  13. format="[{time:YYYY-MM-DD HH:mm:ss.SSS}] {level} {message}",
  14. level="DEBUG", retention="7 day")
  15. def run_threaded(job_func, *args, **kwargs):
  16. """
  17. 在新线程中运行给定的函数,并传递参数。
  18. :param job_func: 要运行的目标函数
  19. :param args: 位置参数
  20. :param kwargs: 关键字参数
  21. """
  22. job_thread = threading.Thread(target=job_func, args=args, kwargs=kwargs)
  23. job_thread.start()
  24. def schedule_task():
  25. """
  26. 爬虫模块的启动文件
  27. """
  28. # 立即运行一次任务
  29. run_threaded(cxx_daily_main, log=logger)
  30. # time.sleep(5)
  31. run_threaded(cxx_sale_main, log=logger)
  32. # 设置定时任务
  33. schedule.every().day.at("07:01").do(run_threaded, cxx_daily_main, log=logger)
  34. schedule.every().hour.do(run_threaded, cxx_sale_main, log=logger)
  35. while True:
  36. schedule.run_pending()
  37. time.sleep(1)
  38. if __name__ == '__main__':
  39. schedule_task()