sockets - 在 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))
解决方案
推荐阅读
- youtube - YouTube Data API v3:按最受欢迎的视频排序
- c# - Linq 查询以包含已连接集合的项目数
- r - 以特定模式为 r 中数据名的奇数/偶数列命名
- c++ - 无法将数组中的浮点数转换为字符串
- c# - 以 asp dot net web 形式发布项目后访问排除的文件/文件夹
- java - 如何在记事本中放大和缩小 JtextArea
- regex - 如何将转义码转换为 html 或删除
- php - 有没有办法将远程文件作为“压缩”流式传输而不下载到服务器?
- javascript - 试图从中提取共同的功能
- javascript - Earth Engine:从多边形内提取气候数据