首页 > 解决方案 > 在 gunicorn 中并行运行烧瓶和 tcp 套接字

问题描述

我想使用服务器上的线程并行部署和运行烧瓶和套接字,而 gunicorn 只运行烧瓶,而套接字不会被执行。

有人可以让我知道如何实现这一点,或者有没有更好的方法或不同的解决方案。

import concurrent.futures

import socket

from flask_cors import CORS
from flask import Flask

app = Flask(__name__)

CORS(app)

def createSocket():
    try:
        global host
        global port
        global s
        host = ""
        port = communicationSocketAddress

        s = socket.socket()

    except socket.error as msg:
        print("Socket creation error " + str(msg))


def bindSocket():
    try:
        global host
        global port
        global s

        print("Binding the port: " + str(port))

        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        s.bind((host, port))
        s.listen(5)

    except socket.error as msg:
        print("Socket creation error " + str(msg) + "\n" + "Retrying...")
        bindSocket()

def work():
    while True:
        createSocket()
        bindSocket()


if __name__ == '__main__':
    with concurrent.futures.ThreadPoolExecutor() as executor:
        executor.submit(work)
        executor.submit(app.run(port=8080, debug=True, use_reloader=False))

标签: sockets

解决方案


推荐阅读