[英]Multiprocess can not work in flask when I deploy flask to server by using flask + uwsgi + nginx
我正在使用 Flask + uwsgi + nginx 在服务器上部署网站。
在flask中,我的代码在下面,这里是我想要设计的:每次点击run model时,它会在另一个进程中运行一个模型,但界面会立即链接到等待界面。
train_dataset.status = status
db.session.commit()
text = 'Start training your models, please wait for a while or check results several hours later'
# would run a model in another process
task = Process(target=start_train, args=(app.config['UPLOAD_FOLDER'], current_user.id, p.id, p.task), name="training.exe")
task.start()
print(task.pid, task.name)
session[f"{project_name}_train"] = task.pid
# in the meanwhile, link to waiting interface
return render_template('p_computeview.html', project_name=project_name, text=text,
status=status, p=p, email=email, not_identify=not_identify)
当我在本地开发环境中测试时
app.run()
没关系,当我点击运行模型时,界面只是链接到等待界面,我可以看到模型运行日志。 但是当我部署到服务器时,我选择了uwsgi + nginx + flask。
在uwsgi.ini中,我已经指定了进程
processes=2
threads=5
但是当我点击运行模型时,界面还是,没有链接到等待界面,但是可以看到模型运行日志,建模完成后,界面会链接到等待界面(证明Process功能没有在职的 ??)
我的服务器有 2 个 CPU,所以我认为它可以支持多进程
有人能帮我吗 ? 我猜 uwsgi 或 nginx 有问题?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.