gpt4 book ai didi

python - 使用 twistd 服务 Pyramid 应用程序

转载 作者:行者123 更新时间:2023-11-28 22:01:20 26 4
gpt4 key购买 nike

我有一个 Pyramid 应用程序,其中也有一些 Twisted 代码,所以我想使用 twistd 为该应用程序提供服务,以一石二鸟。

这是我的 .tac 文件:

from twisted.web.server import Site
from twisted.web.wsgi import WSGIResource
from twisted.internet import reactor
from twisted.application import internet, service
import os

from pyramid.paster import get_app, setup_logging

config='/path/to/app/production.ini'
config = os.path.abspath(config)
port = 8888

application = get_app(config, 'main')

# Twisted WSGI server setup...
resource = WSGIResource(reactor, reactor.getThreadPool(), application)
factory = Site(resource)

service = internet.TCPServer(port, factory)

service.setServiceParent(application)

为了运行这个我使用了:

twistd -y myApp.tac

我收到错误消息,告诉我 get_app() 方法没有返回可以以这种方式使用的对象。例如:

"Failed to load application: 'PrefixMiddleware' object has no attribute 'addService'"

使用 twistd 运行 Pyramid 应用程序的最佳方式是什么?

最佳答案

您可以使用 Twisted Web 的 twistd 插件中的 WSGI 支持来缩短它并使其更易于配置。像这样创建一个模块:

from pyramid.paster import get_app

config = '/path/to/app/production.ini'
myApp = get_app(config, 'main')

然后像这样运行twistd:

$ twistd web --port tcp:8888 --wsgi foo.myApp

foo 是您创建的模块的名称。

关于python - 使用 twistd 服务 Pyramid 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13122519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com