clacRestData.py 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. # -*- coding:utf-8 -*-
  2. import time
  3. import datetime
  4. from StockRestPojo import StockRestPojo
  5. from dbOperation import dbOperation
  6. import db_config
  7. from threading import Thread
  8. from time import sleep
  9. import asyncio
  10. async def clacGroupData(dbConfig):
  11. db = dbOperation(dbConfig)
  12. stockPojoList = db.query_list("select id, code, name, list_date listDate from t_stock_base_info where 1 = 1")
  13. for stockPojo in stockPojoList:
  14. stockRestPojoList = db.query_list("SELECT id, realTime FROM `data_rt_" + stockPojo['code'].replace(".", "_").lower() + "` where dateOne = '0'")
  15. sql = ""
  16. for stockRestPojo in stockRestPojoList:
  17. datTime = stockRestPojo['realTime']
  18. min_ = time.localtime(datTime).tm_min # 获取分钟
  19. sec_ = time.localtime(datTime).tm_sec # 获取秒数
  20. # 1分钟数据
  21. if sec_ != 0:
  22. tempDatTime = datTime + 60 - sec_
  23. stockRestPojo['dateOne'] = str(int(tempDatTime))
  24. else:
  25. stockRestPojo['dateOne'] = str(int(datTime))
  26. # 5分钟数据
  27. if sec_ != 0 or min_%5 != 0:
  28. tempDatTime = datTime + (5 * 60) - sec_ - (min_%5 * 60)
  29. stockRestPojo['dateFive'] = str(int(tempDatTime))
  30. else:
  31. stockRestPojo['dateFive'] = str(int(datTime))
  32. # 15分钟数据
  33. if sec_ != 0 or min_%15 != 0:
  34. tempDatTime = datTime + (15 * 60) - sec_ - (min_%15 * 60)
  35. stockRestPojo['dateFifteen'] = str(int(tempDatTime))
  36. else:
  37. stockRestPojo['dateFifteen'] = str(int(datTime))
  38. # 30分钟数据
  39. if sec_ != 0 or min_%30 != 0:
  40. tempDatTime = datTime + (30 * 60) - sec_ - (min_%30 * 60)
  41. stockRestPojo['dateThirty'] = str(int(tempDatTime))
  42. else:
  43. stockRestPojo['dateThirty'] = str(int(datTime))
  44. # 60分钟数据
  45. if sec_ != 0 or min_%60 != 0:
  46. tempDatTime = datTime + (60 * 60) - sec_ - (min_%60 * 60)
  47. stockRestPojo['dateSixty'] = str(int(tempDatTime))
  48. else:
  49. stockRestPojo['dateSixty'] = str(int(datTime))
  50. sql = sql + "update `data_rt_" + stockPojo['code'].replace(".", "_").lower() + "` set dateOne = '" + str(stockRestPojo['dateOne']) + "', dateFive = '" + str(stockRestPojo['dateFive']) + "', dateFifteen = '" + str(stockRestPojo['dateFifteen']) + "', dateThirty = '" + str(stockRestPojo['dateThirty']) + "', dateSixty = '" + str(stockRestPojo['dateSixty']) + "' where id = '" + str(stockRestPojo['id']) + "';"
  51. db.update(sql)
  52. print("运行完成")
  53. db.close
  54. async def main():
  55. await asyncio.gather(
  56. clacGroupData(db_config.db_gupiao)
  57. )
  58. try:
  59. #定时任务 每3秒钟触发一次
  60. asyncio.run(main())
  61. except Exception as ee:
  62. print("error >>>",ee)