我在我的服务器上使用了带有gunicorn和nginx的Django 1.4.1,设置类似于Django-Nginx-Gunicorn。
我需要的是一个挂钩Django的好地方,这样我就可以在启动时初始化信号监听器之类的东西(所以它适用于所有管理命令和服务器启动)。
我知道很多人使用urls.py或中间件黑客(Where to put Django startup code?),但是当我运行python manage.py shell
时似乎没有调用它们。在某些时候,可以使用启动信号,但除非绝对必要,否则我不想将Django包括在内,除非绝对必要。
我非常喜欢Entry Point Hook Django Projects中的启动脚本技术,并且在使用python manage.py runserver
或任何其他管理命令时它可以正常工作。但是,gunicorn在没有调用管理命令的情况下启动Django,我无法弄清楚我将修改我的gunicorn启动脚本以运行startup.py的位置,如WSGI.py示例所示。任何解决方案?