我正在尝试在Openshift上启动一个新的python3.3
应用。由于他们几周前所做的更改,我无法启动新应用。我将一个已知的工作应用程序复制到一个新的Openshift应用程序中。我现在收到此错误:
Target WSGI script '/var/lib/openshift/<masked>/app-root/runtime/repo/wsgi.py' does not contain WSGI application 'application'.
我的wsgi.py
代码在工作和非工作应用中都是相同的
import os
from myapp import main_production_no_pserve
if __name__ == '__main__':
ip = os.environ['OPENSHIFT_PYTHON_IP']
port = int(os.environ['OPENSHIFT_PYTHON_PORT'])
app = main_production_no_pserve(global_config=None)
from waitress import serve
print("Starting Waitress Server on http://{0}:{1}".format(ip, port))
serve(app, host=ip, port=port, threads=50)
工作应用程序是在3月中旬Openshift变更之前创建的。现在有些东西是不同的,因为完全相同的代码不起作用。
似乎openshift正在application
内寻找wsgi.py
函数入口点。在工作应用程序的旧方法中,wsgi.py
实际上已执行(不查找application
函数。对于踢,我在新的openshift app时基于默认wsgi.py
执行此操作创建了。
import os
from myapp import main_production_no_pserve
def application(environ, start_response):
ip = os.environ['OPENSHIFT_PYTHON_IP']
port = int(os.environ['OPENSHIFT_PYTHON_PORT'])
app = main_production_no_pserve(global_config=None)
from waitress import serve
print("Starting Waitress Server on http://{0}:{1}".format(ip, port))
serve(app, host=ip, port=port, threads=50)
return
通过这种改变,我得到了可怕的OSError: [Errno 98] Address already in use
而rhc app-force-stop
什么也没做。
我不知道为什么一个应用程序有效,而另一个应用程序没有。我将不胜感激。 :)