data_stat_run.py 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. from model.DateUtils import DateUtils
  2. import logging
  3. from model.DingTalkUtils import DingTalkUtils
  4. from app.etl.data_stat_task import *
  5. from app.etl.sync_to_ck_task import *
  6. from app.etl.dm.dm_pitcher_daily_overview import dm_pitcher_daily_overview
  7. from app.etl.dw.dw_channel_daily import dw_channel_daily
  8. from app.etl.dw.dw_pitcher_daily import dw_pitcher_trend
  9. from app.etl.src.src_book_info import src_book_info
  10. from app.etl.dw.dw_book_trend import book_trend
  11. from app.etl.src import book_annual_expect_profit
  12. from logging import handlers
  13. du = DateUtils()
  14. logger = logging.getLogger("")
  15. # logger.setLevel(logging.ERROR)
  16. # logging.getLogger().setLevel(logging.WARNING)
  17. def do_order(st, et):
  18. logging.info('订单数据同步到ck,开始')
  19. for i in du.getDateLists(st, et):
  20. logging.info('订单:' + str(i))
  21. order_sync_ck(i)
  22. logging.info('订单数据同步到ck,结束')
  23. def do_cost(st, et):
  24. logging.info('消耗数据处理,开始')
  25. for i in du.getDateLists(st, et):
  26. logging.info("消耗:" + str(i))
  27. channel_by_account_daily(i)
  28. channel_info_daily(i)
  29. dw_daily_channel_cost(i)
  30. logging.info('消耗数据处理,结束')
  31. def main(st, et):
  32. try:
  33. do_order(st, et)
  34. do_cost(st, et)
  35. src_book_info() # 书籍卡点信息
  36. # book_annual_expect_profit.run() # 年预期收益
  37. dw_channel_daily()
  38. dw_pitcher_trend()
  39. book_trend()
  40. dm_pitcher_daily_overview()
  41. except Exception as e:
  42. logging.error(e)
  43. DingTalkUtils().send("hourlyRun fail!! " + str(e), '15168342316')
  44. def hourly():
  45. thedate = du.getTodayOrYestoday()
  46. main(thedate, thedate)
  47. def daily():
  48. "往前跑10天"
  49. st = du.get_n_days(-10)
  50. et = du.get_n_days(-1)
  51. do_order(st, et)
  52. do_cost(st, et)
  53. if __name__ == '__main__':
  54. logging.basicConfig(
  55. handlers=[
  56. logging.handlers.RotatingFileHandler('./log/data_stat_run.log',
  57. maxBytes=10 * 1024 * 1024,
  58. backupCount=5,
  59. encoding='utf-8')
  60. , logging.StreamHandler() # 供输出使用
  61. ],
  62. level=logging.INFO,
  63. format="%(asctime)s - %(levelname)s %(filename)s %(funcName)s %(lineno)s - %(message)s"
  64. )
  65. hourly()
  66. # daily()
  67. # daily('2021-06-30','2021-07-04')
  68. # do_order('2021-05-30', '2021-06-29')