Browse Source

每天5点运行

李莎 1 year ago
parent
commit
4effda3c04
3 changed files with 61 additions and 28 deletions
  1. 9 0
      Dockerfile
  2. 3 0
      requirements.txt
  3. 49 28
      start.py

+ 9 - 0
Dockerfile

@@ -0,0 +1,9 @@
+FROM python:3.7.15-slim
+
+
+WORKDIR ./zjsys_person
+ADD . .
+
+RUN  pip install -r requirements.txt
+
+CMD ["python", "-u","./start.py"]

+ 3 - 0
requirements.txt

@@ -0,0 +1,3 @@
+pymysql==1.0.2
+pytz==2021.1
+requests==2.27.1

+ 49 - 28
start.py

@@ -1,33 +1,54 @@
 import json
-
-from MyUtils.ConfigUtils import ConfigUtils
+import pytz,time
 import datetime,pymysql
 import requests
 SELECT_SQL="select * from `%s`.saas_employee"
 
-datetimenow = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
-config = ConfigUtils("config.xml")
-mysql = config.readTopDict("mysql", ["host", "port", "user", "passwd", "database"])
-mysql["port"] = int(mysql["port"])
-database = mysql["database"]
-url = config.readTop("config",["url"])[0]
-#连接mysql
-conn = pymysql.connect(**mysql)
-mysql_cur = conn.cursor()
-mysql_cur.execute(SELECT_SQL % (database))
-#获取列名
-column_list = []
-column = mysql_cur.description
-for i in column:
-    column_list.append(i[0])
-datas = mysql_cur.fetchall()
-lst = []
-for line in datas:
-    lst.append(dict(zip(column_list,list(line))))
-for i in range(0,len(lst),100):
-    dataranges = lst[i:i + 100]
-    data_json = json.dumps(dataranges)
-    r = requests.post(url=url,headers={'Content-Type': 'application/json;charset=UTF-8'},data=data_json)
-    print(r.text)
-mysql_cur.close()
-conn.close()
+
+def datetime_now():
+    # datetime_now = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
+    #容器时间
+    # tz = pytz.timezone('Asia/Shanghai')  # 东八区
+    datetime_now = datetime.datetime.fromtimestamp(int(time.time()),
+                                    pytz.timezone('Asia/Shanghai')).strftime('%Y-%m-%d %H:%M')
+    return datetime_now
+
+# datetimenow = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
+# config = ConfigUtils("config.xml")
+# mysql = config.readTopDict("mysql", ["host", "port", "user", "passwd", "database"])
+# mysql["port"] = int(mysql["port"])
+# database = mysql["database"]
+# url = config.readTop("config",["url"])[0]
+
+mysql = {'host': '10.100.28.84', 'port': 9934, 'user': 'root', 'passwd': 'gWK5o9WmCBF5LiW', 'database': 'zjsys_saas-org-person'}
+database = "zjsys_saas-org-person"
+url = "http://10.100.28.79/duoduo-service/setup-service/synUserInfo/synAllUser"
+
+while True:
+    time_now = datetime.datetime.fromtimestamp(int(time.time()),
+                                           pytz.timezone('Asia/Shanghai')).strftime('%H:%M:%S')
+    am_set_time = "05:00:00"
+    if time_now == am_set_time:  # 此处设置每天定时的时间
+        #连接mysql
+        conn = pymysql.connect(**mysql)
+        mysql_cur = conn.cursor()
+        mysql_cur.execute(SELECT_SQL % (database))
+        #获取列名
+        column_list = []
+        column = mysql_cur.description
+        for i in column:
+            column_list.append(i[0])
+        datas = mysql_cur.fetchall()
+        lst = []
+        for line in datas:
+            lst.append(dict(zip(column_list,list(line))))
+        print("%s 总共需要同步%s条数据"%(datetime_now(),len(lst)))
+        for i in range(0,len(lst),100):
+            dataranges = lst[i:i + 100]
+            data_json = json.dumps(dataranges)
+            r = requests.post(url=url,headers={'Content-Type': 'application/json;charset=UTF-8'},data=data_json)
+            print(r.text)
+        mysql_cur.close()
+        conn.close()
+        print("%s 同步完成"%(datetime_now()))
+        time.sleep(2)