问题标签 [waitress]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3152 浏览

python - 与拥抱和女服务员一起记录

我想将日志记录添加到我的 Python拥抱REST 应用程序中。hug通过命令(通过)为应用程序提供服务时,我找不到任何hug -f app.py方法,因此我尝试将 hug 与waitress结合起来。

我在文件中的最小应用程序结构app.py如下所示:

我用一个女服务员脚本来服务这个run.py

当我 python run.py在控制台中执行时,应用程序很好地启动并func返回结果,但是来自 func ("debug func")来自run.py("logger set to DEBUG") 的调试消息我在控制台中看不到。

出了什么问题,我该如何解决?(如果这样更容易的话,我很乐意使用另一个(支持 Windows 的)WSGI 服务器。)

0 投票
2 回答
2644 浏览

python - python 女服务员作为 Windows 服务

我在 Windows 上使用 waitress 和 falcon 编写了一个 API 服务器。它工作得很好,但现在我需要将它作为服务运行,以便它可以监控。最好的方法是什么?我看过 pywin32 和cherrypy 自己的实现。我很难通过 python 阻止女服务员。我知道使用 cmd 时使用了 ctrl-break,但不确定使用 python 时使用什么。

我看不到女服务员有像cherrypy这样的停止功能。

任何帮助都会很棒。即使它在pywin32之外。只需要一些关于如何让服务员在 Windows 上作为服务运行的详细信息,因为有很多方法可以做到这一点,我不确定哪个是推荐的。

谢谢,安东尼

0 投票
1 回答
203 浏览

pyramid - 金字塔 pserve 在与 / 不同的根路径中

当 pserve 默认启动时,它会在http://0.0.0.0:6543中运行金字塔应用程序,但是如何将其更改为http://0.0.0.0:6543 /myapp

在设置中我可以更改端口,但我没有在其他地方找到更改根路径的位置

0 投票
1 回答
206 浏览

python - Openshift 3 Python 中的 IP 绑定

我正在尝试从 Openshift 2 迁移到 3,但我被困了几行。

在从Openshift Pyramidstarter 模板复制的带有 Waitress 服务器的 Python3 Pyramid 中运行。问题出在os.environ.

这给了我以下错误

我已经尝试了其他一些选项。os.environ键如下:['KUBERNETES_PORT_53_UDP_PORT', 'PIP_NO_CACHE_DIR', 'KUBERNETES_PORT_53_TCP_PORT', 'STI_SCRIPTS_PATH', 'PYTHONIOENCODING', 'X_SCLS', 'KUBERNETES_PORT_443_TCP_PROTO', 'HOME_SERVICE_PORT', 'HOME_SERVICE_HOST', 'KUBERNETES_PORT_53_TCP_ADDR', 'LANG', 'MANPATH', 'KUBERNETES_PORT_53_UDP', 'KUBERNETES_PORT_443_TCP', 'HOME_SERVICE_PORT_8080_TCP', 'PWD', 'KUBERNETES_PORT', 'KUBERNETES_SERVICE_PORT_HTTPS', 'VIRTUAL_ENV', 'PYTHON_VERSION', 'KUBERNETES_PORT_443_TCP_ADDR', 'HOME_PORT_8080_TCP_PORT', 'HOME_PORT', 'HOME_PORT_8080_TCP_ADDR', 'HOME_PORT_8080_TCP_PROTO', 'OPENSHIFT_BUILD_SOURCE', 'KUBERNETES_PORT_53_TCP_PROTO', 'KUBERNETES_PORT_53_UDP_PROTO', 'LD_PRELOAD', 'DESCRIPTION', 'LIBRARY_PATH', 'OPENSHIFT_BUILD_NAMESPACE', 'KUBERNETES_PORT_53_TCP', 'container', 'PATH', 'KUBERNETES_SERVICE_HOST', 'KUBERNETES_SERVICE_PORT_DNS_TCP', 'KUBERNETES_PORT_53_UDP_ADDR', 'KUBERNETES_SERVICE_PORT', 'PYTHONUNBUFFERED', 'KUBERNETES_PORT_443_TCP_PORT', 'OPENSHIFT_BUILD_COMMIT', 'NSS_WRAPPER_PASSWD', 'HOME_PORT_8080_TCP', 'KUBERNETES_SERVICE_PORT_DNS', 'SUMMARY', 'STI_SCRIPTS_URL', 'NSS_WRAPPER_GROUP', 'PKG_CONFIG_PATH', 'SHLVL', 'OPENSHIFT_BUILD_REFERENCE', 'HOME', 'HOSTNAME', 'LD_LIBRARY_PATH', 'LC_ALL', 'XDG_DATA_DIRS', 'OPENSHIFT_BUILD_NAME']

例外:我拼命尝试绑定到 localhost (127.0.0.1),但我的权限被拒绝。

0 投票
2 回答
1788 浏览

python - 金字塔独角兽和女服务员

我试图了解 Pyramid 关于[main:server]配置和 gunicorn 的行为。

如果我使用pserve,它将使用 , 的配置[main:server],用于服务员和 gunicorn。例如:

所以现在,$ pserve development.ini将与女服务员一起启动项目,这是意料之中的。但是,如果我使用该命令$ gunicorn(在 ini 文件中使用 gunicorn 或 waitress),它也可以正常工作,这不是我所期望的。

我的问题是:

  • 如果我运行命令,为什么此配置有效$ gunicorn --paste development.ini

  • 发生了什么?女服务员在工作吗?(我会说这不是根据我电脑中的流程)

0 投票
0 回答
1407 浏览

python - 女服务员因连接过多而导致 504

我们有一个每秒收到 20-30 个请求的应用程序。尽管我们调整了性能变量,但女服务员似乎在负载下屈曲。它不会崩溃也不会给出任何错误。相反,它似乎向 Nginx 发送(我们假设)一个 ERRCONRESET,Nginx 正在向它发送请求。这个假设来自服务员文档,该文档指出当积压超过其限制时,它可能会向请求方发送 ERRCONRESET。此外,Nginx 在女服务员负载时返回 504 给我们。python 应用程序本身似乎继续运行良好。

我们还尝试增加线程数(50 个线程)和连接限制(1000 个)。我们还降低了 channel_timeout 和 cleanup_interval(分别为 10 秒和 15 秒)。这仍然表明负载下的性能没有改善。最后,我们甚至尝试将积压订单增加到 2048 个。这些都没有产生任何重大影响。

在某种程度上,我什至想知道被禁止的新限制是否得到遵守,因为运行 netcat 显示长时间运行的连接在 60 秒内没有被终止。我们的印象是女服务员应该能够处理这个负载,但事实并非如此。需要注意的是,我们已将其扩展到 LB 后面的 6 个并发实例以接收请求,但仍然出现这些错误。

任何反馈或性能提示将不胜感激。我们在 kubernetes 上运行的非常强大的 AWS 实例上运行这些。他们占用的 CPU 和 RAM 资源可以忽略不计。当它确实工作时它的毫秒返回时间,所以我看不到代码中可能有任何影响的瓶颈,只有一些事实是连接和积压已经不堪重负。

请参阅下面的服务员配置以启动应用程序。

0 投票
1 回答
842 浏览

python - 使用 Windows 在 Heroku 上部署 python 烧瓶 Web 应用程序

我正在尝试将我制作的烧瓶应用程序成功部署到 Heroku。该应用程序已生成,但当我将代码推送到 Heroku 存储库时出现错误。

我的烧瓶应用程序位于名为 server.py 的模块中,变量名为 app。起初我尝试使用 gunicorn 并编写 web: gunicorn server:app 和 deplying 但没有 web dynos 启动,我收到一个错误,指出它是 Procfile 文件。关于它的红色并看到 Gunicorn 并没有真正在 Windows 上工作,所以我尝试安装 Waitress 并部署但没有成功。这次我的简介被写成所有这些(尝试了几次):

网络:女服务员服务--listen=*:8000 server.wsgi:application

web: waitress-serve --listen=*:8000 app.wsgi:application 等等。

要添加网络测功机,我应该对其进行缩放,因为 heroku ps: 表明没有测功机。

当我尝试运行 heroku ps:scale web=1 我得到:

缩放测功机...!▸ 找不到该进程类型。

我究竟做错了什么?

0 投票
2 回答
3082 浏览

python - 女服务员的“模块对象不可调用”

我正在尝试在 Heroku 上部署我的应用程序。我必须使用 Windows,而 gunicorn 将无法工作。我试过女服务员,每当我尝试加载任何页面时,它都会给我一个“模块不可调用”错误。

注意:到目前为止,我还没有在网络上部署它,heroku local在创建一个可公开访问的之前尝试过。它在localhost使用 PyCharm 时有效。

文件组织

__init __.py

Procfile

追溯:

知道如何解决这个问题吗?

0 投票
0 回答
762 浏览

python - 女服务员 Nginx 无法提供具有相对路径的静态文件

我使用 waitress 作为 WSGI 来为我的 Django 应用程序提供服务,并且我使用 nginx 作为反向代理。当我给出静态文件的绝对路径时,它工作正常,但如果我尝试给出相对路径,它就不起作用。

location /static/ 中的注释部分是我想让它工作的部分。我还确保文件位置正确。我在访问日志和错误日志中给出了相对路径,它们工作正常。这是我在这里想念的吗?

0 投票
7 回答
54824 浏览

python - 在 Windows 上与女服务员一起服务 Flask 应用程序

我可以使用以下代码运行网络服务器

问题是我只能从它运行的机器上访问它,如果我尝试使用 ipv4 ip 访问它,它就不起作用。我错过了一步吗?