jjzjj

Gunicorn

全部标签

python - 如何使 flask 异步响应客户端?

Flask是一个单线程网络服务器。但我想让它在处理一些耗时的请求时不会阻塞。例如:fromflaskimportFlaskimporttimeimportsysapp=Flask(__name__)@app.route("/")defhello():print"request"sys.stdout.flush()for_inrange(10000000):forjinrange(10000000):i=1return"HelloWorld!"if__name__=="__main__":app.run(debug=True)我希望当每个客户端请求服务器时,它总是立即在控制台上输出“请求

订阅 react 源的 Python Web 服务在对象中产生奇怪的行为

我已经使用Falcon实现了一个网络服务。此服务存储一个状态机(pytransitions),该状态机被传递到构造函数中的服务资源。该服务使用gunicorn运行。Web服务在开始使用RxPy时启动一个进程。on_next(event)中返回的事件用于触发状态机中的转换。错误我希望状态机在服务和资源中都具有一致的状态,但在资源中状态似乎永远不会改变。我们有一个尝试重现此行为的测试,但令人惊讶的是该测试有效classTochoLevel(object):def__init__(self,tochine):self.tochine=tochinedefon_get(self,req,res

python - 错误 : [Errno 98] Address already in use

我正在创建一个简单的flaskapp,我将在heroku上部署它,这是我第一次在heroku上部署python应用程序,也就是说我是gunicorn的新手。附加说明:使用虚拟环境。flask版本Flask==0.10.1unicorn==19.3.0使用“pythonrun.py”有效使用'foremanstart'我得到以下错误16:35:44web.1|startedwithpid404716:35:44web.1|[2015-03-3016:35:44+0000][4047][INFO]Startinggunicorn19.3.016:35:44web.1|[2015-03-30

python - 如何让 Flask/Gunicorn 处理同一路由的并发请求?

tl;dr用route装饰的方法无法处理并发请求,而Flask是在一个由多个工作线程和线程启动的gunicorn后面提供的,而两种不同的方法处理并发请求很好。为什么会这样,同一条路由如何并发服务?我有这个简单的flask应用程序:fromflaskimportFlask,jsonifyimporttimeapp=Flask(__name__)@app.route('/foo')deffoo():time.sleep(5)returnjsonify({'success':True}),200@app.route('/bar')defbar():time.sleep(5)returnjso

python - Django Gunicorn 不加载静态文件

我正在尝试使用gunicorn和nginx部署我的django元素,但我需要一些帮助。当我编写gunicornmyproject.wsgi:application时,我设法在本地主机页面中看到我的网站,但没有任何css。为什么gunicorn不加载我的css文件到我的元素的静态文件夹中?Guinicorn_start脚本:https://dpaste.de/TAc4Gunicorn输出:https://dpaste.de/C6YX 最佳答案 Gunicorn只会提供动态内容,即Django文件。所以你需要设置一个代理服务器,比如ng

python - 在 flask/gunicorn 中初始化应用程序的位置

我正在使用Flask/Gunicorn运行Web应用程序并且对生命周期管理有疑问。我在使用servlet的Java世界中有更多经验。我正在为服务创建一个Restful接口(interface)。该服务始终运行在服务器上,并与一组子服务器进行通信和控制。在Java中,我的服务将通过监听器和servlet初始化方法创建和初始化(例如,传统上在main()中找到的设置)。等效的设置和配置在Flask中的什么地方?我正在考虑创建数据库连接池、向子服务器发送问候消息、将持久化系统状态重置为初始值等任务。这会出现在Flask的before_first_request方法中吗?根据@Pyrce的评论

python - Gunicorn 没有重新加载 Django 应用程序

在virtualenv中运行Django1.3应用程序和gunicorn0.12.1,我的代码重新加载行为不一致。Gunicorn没有正确地重新加载我的应用程序,即使重新启动了特定的gunicorn进程PID。当我运行基本的runserver(通过Django,通过manage.py命令)时,这不是问题。当我删除并重新创建我的virtualenv时,gunicorn使用新代码按预期运行。是否有Python缓存之类的?我还尝试删除所有*.pyc文件。 最佳答案 试试这个:$kill-HUPmasterpid此外,请查看followin

python - heroku 上的 Gunicorn 'ImportError: No module named app.wsgiapp'

我无法使用简单的flask应用程序在heroku上运行gunicorn。该应用程序非常简单。这是app.py:app=Flask(__name__)@app.route("/")defsay_hello(url):return"Hello"if__name__=="__main__":port=int(os.environ.get('PORT',8888))app.run(host='0.0.0.0',port=port)该应用程序通过heroku上的flask测试服务器运行良好,但是当我切换到使用gunicorn时,它崩溃了:ImportError:Nomodulenamedapp.

python - 在 Gunicorn/Flask 应用程序中的进程之间共享静态全局数据

我有一个在Gunicorn下运行的Flask应用,使用带有20个工作进程的同步工作类型。该应用程序在启动时读取大量数据,这需要时间并占用内存。更糟糕的是,每个进程加载自己的副本,这导致它花费更长的时间并占用20倍的内存。数据是静态的,不会改变。我想加载一次并让所有20个工作人员共享它。如果我使用preload_app设置,它只在一个线程中加载,最初只占用1X内存,但一旦请求开始进入,似乎会膨胀到20X。我需要快速随机访问数据,所以我宁愿不做IPC.有没有办法在Gunicorn进程之间共享静态数据? 最佳答案 内存映射文件将允许您在进

python - 如何在 Heroku Cedar (Python/Flask/Gunicorn) 上启用 gzip 压缩

如何在新的HerokuCedar堆栈上启用GZIP压缩?这直接来自他们的site:SincerequeststoCedarappsaremadedirectlytotheapplicationserver–notproxiedthroughanHTTPserverlikenginx–anycompressionofresponsesmustbedonewithinyourapplication.ForRackapps,thiscanbeaccomplishedwiththeRack::Deflatermiddleware.Forgzippedstaticassets,makesuret