updateAccountV3.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import time
  2. from datetime import datetime, timedelta
  3. from argparse import ArgumentParser
  4. from tasks.data_tasks.account_position_read_avg_task import (
  5. AccountPositionReadAvgTask,
  6. AccountOpenRateAvgTask,
  7. )
  8. def main():
  9. """
  10. main job
  11. :return:
  12. """
  13. parser = ArgumentParser()
  14. parser.add_argument(
  15. "--run-date",
  16. help="Run only once for date in format of %Y-%m-%d. \
  17. If no specified, run as daily jobs.",
  18. )
  19. args = parser.parse_args()
  20. update_account_read_avg_task = AccountPositionReadAvgTask()
  21. update_account_open_rate_avg_task = AccountOpenRateAvgTask()
  22. if args.run_date:
  23. update_account_read_avg_task.do_task_list(dt=args.run_date)
  24. else:
  25. dt_object = datetime.fromtimestamp(int(time.time()))
  26. one_day = timedelta(days=1)
  27. yesterday = dt_object - one_day
  28. yesterday_str = yesterday.strftime("%Y-%m-%d")
  29. update_account_read_avg_task.do_task_list(dt=yesterday_str)
  30. update_account_open_rate_avg_task.do_task_list(date_string=yesterday_str)
  31. if __name__ == "__main__":
  32. main()