فهرست منبع

添加本地异步执行

anmox 11 ماه پیش
والد
کامیت
16d229a576
2فایلهای تغییر یافته به همراه18 افزوده شده و 9 حذف شده
  1. 15 9
      app.py
  2. 3 0
      schedule_service.py

+ 15 - 9
app.py

@@ -8,8 +8,11 @@ from flask_restx import Api, Resource, fields
 
 from schedule_service import run_local
 
+from flask_executor import Executor
+
 app = Flask(__name__)
 
+executor = Executor(app)
 api = Api(app, version='1.0', title='Transfer API', description='Transfer API')
 
 localExec = api.model('LocalExecModal', {
@@ -28,13 +31,16 @@ localExec = api.model('LocalExecModal', {
 class LocalExec(Resource):
     @api.expect(localExec)
     def post(self):
-        try:
-            localExec = request.get_json()
-            run_local(localExec['step'], localExec['end'], localExec['batch_no'], localExec['transfer_type'],
-                      localExec['transfer_file_addr'], localExec['field_name'], localExec['field_code'],
-                      localExec['save_db'])
-        except Exception as e:
-            print(e)
+        def local_exec():
+            try:
+                localExec = request.get_json()
+                run_local(localExec['step'], localExec['end'], localExec['batch_no'], localExec['transfer_type'],
+                          localExec['transfer_file_addr'], localExec['field_name'], localExec['field_code'],
+                          localExec['save_db'])
+            except Exception as e:
+                print(e)
+
+        executor.submit(local_exec)
         return {'status': 200, 'message': '正在执行'}
 
 
@@ -71,5 +77,5 @@ if __name__ == '__main__':
 
     scheduler = APScheduler()
     scheduler.init_app(app)
-    # scheduler.start()
-    app.run(debug=True, port=8088)
+    scheduler.start()
+    app.run(host='0.0.0.0', port=8088)

+ 3 - 0
schedule_service.py

@@ -1,6 +1,9 @@
 # -*- coding: utf-8 -*-
 # @Time    : 2024/6/11
 # @Author  : 魏志亮
+import multiprocessing
+import sys
+
 from etl.base.TranseParam import TranseParam
 from etl.base.WindFarms import WindFarms
 from service.plt_service import get_exec_data, update_trans_status_error