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. def job():
  26. if datetime.date.today().day != 2:
  27. print("%s 等待1号执行程序"%datetime_now())
  28. else:
  29. # 连接mysql
  30. MysqlUtil = MysqlUtils(**mysql)
  31. for date in days:
  32. print("%s 开始导入%s的数据"%(datetime_now(),date))
  33. MysqlUtil.update_two(REPLACE_EQUIP_SQL%(date),DELETE_EQUIP_SQL%(date))
  34. MysqlUtil.update_two(REPLACE_SPACE_SQL%(date),DELETE_SPACE_SQL%(date))
  35. # 关闭数据库
  36. MysqlUtil.close()
  37. schedule.every().day.at("08:30").do(job)
  38. while True:
  39. days = get_day_1(start_date_month, end_date_month)
  40. schedule.run_pending()
  41. time.sleep(30)