main.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from MyUtils.MysqlUtils import MysqlUtils
  2. from MyUtils.DateUtils import get_day_1
  3. import datetime
  4. import dateutil.relativedelta
  5. import time
  6. import pytz
  7. import schedule
  8. REPLACE_EQUIP_SQL = "replace into sagacloud_review.custom_project_equipment_quarter_history SELECT * from sagacloud_review.custom_project_equipment_quarter where date = '%s'"
  9. REPLACE_SPACE_SQL = "replace into sagacloud_review.custom_space_quarter_history SELECT * from sagacloud_review.custom_space_quarter where date = '%s'"
  10. DELETE_EQUIP_SQL = "delete from sagacloud_review.custom_project_equipment_quarter where date = '%s'"
  11. DELETE_SPACE_SQL = "delete from sagacloud_review.custom_space_quarter where date = '%s'"
  12. def datetime_now():
  13. # datetime_now = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
  14. #容器时间
  15. # tz = pytz.timezone('Asia/Shanghai') # 东八区
  16. datetime_now = datetime.datetime.fromtimestamp(int(time.time()),
  17. pytz.timezone('Asia/Shanghai')).strftime('%Y-%m-%d %H:%M:%S')
  18. return datetime_now
  19. mysql = {'database': 'sagacloud_review', 'host': 'rm-2zek656j2bn934176xo.mysql.rds.aliyuncs.com', 'passwd': 'H%k3!BHw1kQXIc70', 'port': 53306, 'user': 'root'}
  20. start_date_month = (datetime.datetime.now() + dateutil.relativedelta.relativedelta(months=-2)).strftime("%Y%m")+"01"
  21. end_date_month = (datetime.datetime.now() + dateutil.relativedelta.relativedelta(months=-1)).strftime("%Y%m")+"01"
  22. # print(start_date_month,end_date_month)
  23. # start_date_month = "20220903"
  24. # end_date_month = "20230201"
  25. days = get_day_1(start_date_month,end_date_month)
  26. def job():
  27. if datetime.date.today().day != 1:
  28. print("%s 等待1号执行程序"%datetime_now())
  29. else:
  30. # 连接mysql
  31. MysqlUtil = MysqlUtils(**mysql)
  32. for date in days:
  33. print("%s 开始导入%s的数据"%(datetime_now(),date))
  34. MysqlUtil.update_two(REPLACE_EQUIP_SQL%(date),DELETE_EQUIP_SQL%(date))
  35. MysqlUtil.update_two(REPLACE_SPACE_SQL%(date),DELETE_SPACE_SQL%(date))
  36. # 关闭数据库
  37. MysqlUtil.close()
  38. schedule.every().day.at("08:30").do(job)
  39. while True:
  40. schedule.run_pending()
  41. time.sleep(1)