Procházet zdrojové kódy

add python monitor

stanley-king před 4 roky
rodič
revize
160ffc6c44

+ 9 - 1
docker/compose/stanley/docker-compose.yml

@@ -178,7 +178,7 @@ services:
       - "websrv"
       - "searcher"
 
-  flask:
+  flasksrv:
     image: pycpu:3.7.9
     ports:
       - "5000:5000"
@@ -188,3 +188,11 @@ services:
       - /Users/stanley-king/work/PHPProject/shoplog:/var/www/html/data/log
     container_name: "panda-flask"
     command: ['python','app.py']
+
+  pythoncli:
+    image: pycpu:3.7.9
+    volumes:
+      - ../../conf/etc/localtime:/etc/localtime:ro
+      - ../../../:/var/www/html
+      - /Users/stanley-king/work/PHPProject/shoplog:/var/www/html/data/log
+    container_name: "panda-python"

+ 11 - 0
docker/conf/nginx/nginx-stanley-http.conf

@@ -61,6 +61,17 @@ http
 	        try_files $uri $uri/ /mshop/index.html;
         }
 
+        location /plot {
+            root $folder_name;
+            proxy_pass         http://127.0.0.1:5000;
+            #proxy_redirect     off;
+
+            proxy_set_header   Host                 $host;
+            proxy_set_header   X-Real-IP            $remote_addr;
+            proxy_set_header   X-Forwarded-For      $proxy_add_x_forwarded_for;
+            proxy_set_header   X-Forwarded-Proto    $scheme;
+        }
+
         location ~ /mobile/[/\w]+\.php$ {
             root           $folder_name;
             fastcgi_pass   host.docker.internal:9100;

+ 10 - 3
helper/refill/RefillBase.php

@@ -113,9 +113,16 @@ class RefillBase
                 {
                     util::incr_notify($chname, $card_type, $spec, $quality, false);
                     $logic_vr_order->changeOrderStateCancel($order_info, '', "{$chname}接口回调通知失败,正在重试");
-                    if ($this->retry($refill_info, $order_info)) {
+                    [$can_retry,$params] = $this->retry($refill_info, $order_info);
+                    if ($can_retry) {
                         $mod_refill->edit($order_id, ['is_retrying' => 1]);
                         $tran->commit();
+
+                        if(defined('USE_COROUTINE') && USE_COROUTINE) {
+                            \Swoole\Coroutine::sleep(1);
+                        }
+                        util::push_add($params);
+
                         return true;
                     }
                 }
@@ -147,7 +154,7 @@ class RefillBase
         $commit_times = intval($refill_info['commit_times']);
 
         [$org_quality,$quality] = $this->find_quality($mchid,$spec,$card_type,$org_quality,$commit_times,$used_time);
-        if($quality <= 0) return false;
+        if($quality <= 0) return [false,null];
 
         $params = [ 'mchid' => $refill_info['mchid'],
             'buyer_id' => $order_info['buyer_id'],
@@ -164,7 +171,7 @@ class RefillBase
             'order_id' => $refill_info['order_id']
         ];
 
-        return util::push_add($params);
+        return [true,$params];
     }
 
     public function zero_order($mchid, $buyer_id, $amount, $card_no,

+ 7 - 2
plot/app.py

@@ -1,10 +1,15 @@
+import os
+from gevent import monkey
+from gevent.pywsgi import WSGIServer
 from flask import Flask
 
 app = Flask(__name__)
 
-@app.route('/')
+@app.route('/plot/index')
 def index():
     return 'Hello, World!'
 
 if __name__ == "__main__":
-    app.run(host="0.0.0.0", debug=True)
+    monkey.patch_all()
+    http_server = WSGIServer(('0.0.0.0', 5000), app)
+    http_server.serve_forever()

+ 0 - 1
plot/pywsgi.py

@@ -5,7 +5,6 @@ from gevent.pywsgi import WSGIServer
 
 from app import app
 
-
 monkey.patch_all()
 
 http_server = WSGIServer(('0.0.0.0', int(os.environ['PORT_APP'])), app)