data_stat_daily.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. from model.DateUtils import DateUtils
  2. from data_stat_task import *
  3. from sync_to_ck_task import *
  4. du = DateUtils()
  5. from model.DingTalkUtils import DingTalkUtils
  6. from app.etl.dm.dm_pitcher_daily_overview import dm_pitcher_daily_overview
  7. yestoday = du.get_n_days(-1)
  8. today = du.get_n_days(0)
  9. """凌晨5点跑昨天的数据"""
  10. def run(ymd):
  11. try:
  12. # 公众号元数据
  13. channel_by_account_daily(ymd)
  14. channel_info_daily(ymd)
  15. # 清洗订单表-同步到ck
  16. ods_order(ymd)
  17. order_sync_ck(ymd)
  18. # 公众号维度数据-同步到ck
  19. dw_daily_channel_cost(ymd)
  20. dw_order_channel_cost_sync_ck(ymd)
  21. dw_channel_daily_total(ymd)
  22. except Exception as e:
  23. DingTalkUtils.send("数据ETL出错:",'18860455786')
  24. def run_order_history():
  25. """当order表跑了历史的数据,要从这历史数据的最早时间跑此任务流"""
  26. for i in du.getDateLists('2020-01-01',du.get_n_days(0)):
  27. print(i)
  28. ods_order(i)
  29. order_sync_ck(i)
  30. dw_channel_daily_total(i)
  31. dw_daily_channel()
  32. print('ok')
  33. def run_cost_history():
  34. "cost 重跑后,跑此任务流"
  35. for i in du.getDateLists('2019-03-18',du.get_n_days(0)):
  36. print(i)
  37. channel_by_account_daily(i)
  38. channel_info_daily(i)
  39. dw_daily_channel_cost(i)
  40. dw_order_channel_cost_sync_ck(i)
  41. dw_channel_daily_total(i)
  42. dw_daily_channel()
  43. import sys
  44. if __name__ == '__main__':
  45. if len(sys.argv)==1:
  46. run(yestoday)
  47. else:
  48. for i in du.getDateLists(sys.argv[1],sys.argv[2]):
  49. run(i)