select_work_studio.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import sys
  2. from apscheduler.schedulers.blocking import BlockingScheduler
  3. from apscheduler.triggers.cron import CronTrigger
  4. from loguru import logger
  5. sys.path.append('/app')
  6. from utils.odps_data import OdpsDataCount
  7. from utils.redis import RedisHelper
  8. class StartGetRecommend(object):
  9. @classmethod
  10. def run_nrfx(cls):
  11. logger.info(f"[ODPS] 开始获取内容分析数据")
  12. data = OdpsDataCount.main()
  13. if not data:
  14. logger.info(f"[ODPS] 片尾内容分析没有获取到数据")
  15. return
  16. RedisHelper().get_client().rpush("task:carry_redis_by_nrfx", *data)
  17. logger.info(f"[ODPS] 片尾内容分析共获取{len(data)}条,写入成功")
  18. def run():
  19. scheduler = BlockingScheduler()
  20. try:
  21. scheduler.add_job(StartGetRecommend.run_nrfx, trigger=CronTrigger(minute=55, second=0)) # 每小时获取一次
  22. scheduler.start()
  23. except KeyboardInterrupt:
  24. pass
  25. except Exception as e:
  26. pass
  27. finally:
  28. scheduler.shutdown()
  29. if __name__ == '__main__':
  30. run()