2015-10-03 119 views
0

我使用Django 1.8和APScheduler以特定間隔運行工作程序。它與Django的開發服務器(例如./manage.py runserver)完美配合,但是當我使用UWSGI和master=true設置項目時,UWSGI worker無法從Nginx獲得任何請求,並且在加載1-2分鐘後瀏覽器顯示504 Gateway Timed-out錯誤。APScheduler不適用於UWSGI

當我將其更改爲master=false一切都很好。

這裏是我的UWSGI配置:

[uwsgi] 
chdir    = /var/www/projectname/backend/projectname 
module   = projectname.wsgi:application 
wsgi-file  = /var/www/projectname/backend/projectname/projectname/wsgi.py 
uid    = root 
gid    = root 
virtualenv  = /var/www/venv/ 
master   = false 
processes = 4 
socket   = :8080 
logto    = /var/www/projectname/log/uwsgi.log 
env    = DJANGO_SETTINGS_MODULE=projectname.settings 
enable-threads = true 

請注意,我使用的Django的AppConfig的運行一次調度。我的UWSGI配置有問題嗎,還是因爲Django?

回答

1

考慮爲您的後臺任務uWSGI騾子。工人處理請求,騾子處理更長時間的東西。

+0

你能給我一個鏈接/文件閱讀更多? –

+0

當然:http://uwsgi-docs.readthedocs.org/en/latest/Mules.html –

+0

騾子的想法是一個漫長的過程,獨立於工人。您可以在騾子內部運行調度程序。 –

相關問題