3

スーパーバイザーを使用して Django アプリケーションをデプロイしようとしています。スーパーバイザーを起動すると、daphne は正しく起動しますが、ワーカー サーバーは起動しません。

以下は、supervisor.conf (ワーカー ブロック) のコード サンプルです。

[program:runworker]
command=python /home/django/environment/myproject/manage.py runworker
stopsignal=KILL
killasgroup=true

ブラウザは長時間待機し、次のように表示されます。

 503 Service Unavailable
Worker server failed to respond within time limit.

また、プロセスを個別に (プロセス制御システムを使用せずに) 起動すると、実際に機能することも付け加えることができます。私はNginxリバースプロキシの背後にいますが、それはまったく問題ではないと思います..

スーパーバイザーの出力は次のとおりです。

2016-08-17 19:01:09,439 INFO supervisord started with pid 3473
2016-08-17 19:01:10,441 INFO spawned: 'runworker' with pid 3477
2016-08-17 19:01:10,442 INFO spawned: 'daphne' with pid 3478
2016-08-17 19:01:11,421 DEBG 'daphne' stderr output:
2016-08-17 23:01:11,421 INFO Starting server at 0.0.0.0:9000, channel layer myproject.asgi:channel_layer

2016-08-17 19:01:11,519 INFO success: runworker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-08-17 19:01:11,519 INFO success: daphne entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2016-08-17 19:01:11,591 DEBG 'runworker' stderr output:
2016-08-17 23:01:11,591 - INFO - runworker - Running worker against channel layer default (asgi_redis.core.RedisChannelLayer)

2016-08-17 19:01:11,592 DEBG 'runworker' stderr output:
2016-08-17 23:01:11,592 - INFO - worker - Listening on channels http.request, websocket.connect, websocket.disconnect, websocket.receive
4

2 に答える 2

1

おそらく DJANGO_SETTINGS_MODULE 環境変数を設定する必要があります。

この回答は例を提供します: https://stackoverflow.com/a/26732916/4193

于 2016-08-17T23:15:06.907 に答える