zoukankan      html  css  js  c++  java
  • Python Flask+Windows Service制作

    #安装pywin32
    pip install pywin32

    #安装服务
    > python WinPyServiceExample.py install
    Installing service WinPyServiceExample
    Service installed

    #更新服务
    > python WinPyServiceExample.py update
    Changing service configuration
    Service updated

    #查看服务
    mmc Services.msc

    #停止服务
    > net stop PythonCornerExample

    #仍旧存在问题,输入下列命令调试
    python WinPyServiceExample.py debug

    #常见问题
    a. 检查Python执行路径是否在PATH变量中。可以在命令行窗口,输入python来确认。

    b. 确认 C:\Program Files\Python36\Lib\site-packages\win32\pywintypes36.dll 存在(注意: “36” 是指python安装版本)。如果这个文件不存在,从C:\Program Files\Python36\Lib\site-packages\pywin32_system32\pywintypes36.dll 拷贝到上述目录下。
    WinPyServiceExample.py
    """ 
    PythonCornerExample.py
    """

    import time
    import random
    from pathlib import Path
    from Winservice import Winservice
    from flask import Flask, request, json
    from gevent.pywsgi import WSGIServer
    from HttpApi import app
    import Config

    class PythonCornerExample(Winservice):
    _svc_name_ = "PyHttpService"
    _svc_display_name_ = "PythonHttp服务"
    _svc_description_ = "PythonHttp服务"

    def start(self):
    self.isrunning = True

    def stop(self):
    self.isrunning = False

    def main(self):
    #app.run(host="127.0.0.1", port=8000)
    ip= str(Config.get('http_host'))
    port = int(Config.get('http_port'))
    http_server = WSGIServer((ip, port), app)
    print("Serving HTTP on "+ip+" port "+str(port)+"...")
    http_server.serve_forever()


    if __name__ == '__main__':
    PythonCornerExample.parse_command_line()
    
    

    HttpApi.py:

    from flask import Flask, request, json
    from gevent.pywsgi import WSGIServer
    '''
    auth:***
    desc: http api接口
    date:20210202
    '''
    app = Flask(__name__)

    #根据图片url查询
    @app.route('/vin/imgurl')
    def vinCodeByImage():
    imgUrl = request.args.get("imgurl")
    if imgUrl=='' or len(imgUrl) ==0:
    return json.dumps({"error":True,"data":'',"message":'imgUrl could not be null'}, ensure_ascii=False, encoding="UTF-8")
    zpSaas=ZpSaas()
    jsonObj=zpSaas.checkVin(imgUrl)
    error=False
    mesaage=''
    if jsonObj['code']=='':
    error=True
    mesaage='未识别'
    else:
    error = False
    mesaage = '成功识别'
    return json.dumps({"error": error, "data": jsonObj, "message": mesaage}, ensure_ascii=False, encoding="UTF-8")

    原文:https://www.jianshu.com/p/13302948dbe6
  • 相关阅读:
    rsync服务器与客户端配置文件
    0170001799 SQL Parsing Messages .
    RHEL修改最大文件打开数,关于epoll socket Too many open files问题的解决
    精美网页集锦
    Linux 相关发音
    【转】如何提升工作中的影响力
    2010年50大最佳工作场所 谷歌仅排名第14
    加密解密工具gpg (GnuPG)
    【转】易经与软件开发
    常见的开放源代码许可证类型
  • 原文地址:https://www.cnblogs.com/kobewang/p/15660643.html
Copyright © 2011-2022 走看看