task_mapper.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. class Const:
  2. # task status
  3. TASK_INIT_STATUS = 0
  4. TASK_PROCESSING_STATUS = 1
  5. TASK_SUCCESS_STATUS = 2
  6. TASK_FAILED_STATUS = 99
  7. # DEFAULT
  8. DEFAULT_TIMEOUT = 1800
  9. # duration
  10. CHECK_KIMI_BALANCE_TIMEOUT = 20
  11. GET_OFF_VIDEO_TIMEOUT = 1800
  12. CHECK_VIDEO_AUDIT_TIMEOUT = 1800
  13. OUTSIDE_ARTICLE_MONITOR_TIMEOUT = 3 * 3600
  14. INNER_ARTICLE_MONITOR_TIMEOUT = 3600
  15. TITLE_REWRITE_TIMEOUT = 1800
  16. RECYCLE_DAILY_ARTICLE_TIMEOUT = 3600
  17. UPDATE_ROOT_SOURCE_ID_TIMEOUT = 3600
  18. CRAWLER_TOUTIAO_ARTICLES_TIMEOUT = 5 * 3600
  19. ARTICLE_POOL_COLD_START_TIMEOUT = 4 * 3600
  20. TASK_MAX_NUM = 5
  21. class TaskMapper(Const):
  22. def get_task_config(self, task_name) -> dict:
  23. match task_name:
  24. case "check_kimi_balance":
  25. expire_duration = self.CHECK_KIMI_BALANCE_TIMEOUT
  26. case "get_off_videos":
  27. expire_duration = self.GET_OFF_VIDEO_TIMEOUT
  28. case "check_publish_video_audit_status":
  29. expire_duration = self.CHECK_VIDEO_AUDIT_TIMEOUT
  30. case "outside_article_monitor":
  31. expire_duration = self.OUTSIDE_ARTICLE_MONITOR_TIMEOUT
  32. case "inner_article_monitor":
  33. expire_duration = self.INNER_ARTICLE_MONITOR_TIMEOUT
  34. case "title_rewrite":
  35. expire_duration = self.TITLE_REWRITE_TIMEOUT
  36. case "daily_publish_articles_recycle":
  37. expire_duration = self.RECYCLE_DAILY_ARTICLE_TIMEOUT
  38. case "update_root_source_id":
  39. expire_duration = self.UPDATE_ROOT_SOURCE_ID_TIMEOUT
  40. case "crawler_toutiao_articles":
  41. expire_duration = self.CRAWLER_TOUTIAO_ARTICLES_TIMEOUT
  42. case "article_pool_pool_cold_start":
  43. expire_duration = self.ARTICLE_POOL_COLD_START_TIMEOUT
  44. case _:
  45. expire_duration = self.DEFAULT_TIMEOUT
  46. return {"expire_duration": expire_duration, "task_max_num": self.TASK_MAX_NUM}
  47. __all__ = ["TaskMapper"]