2016-06-14 21 views
2

Googleのapi-python-clientをインストールして以来、私はGunicornワーカーがタイムアウト後に停止しています。Gunicorn Django [CRITICAL] WORKER TIMEOUT

ジャンゴ== 1.5.3

Gunicorn == 0.12.2

私はそれはピップから来ているが、私はエラーなしで移行したデータベースの移行を除いて、特定の何もしなかった場合は本当にわかりません。

私はGunicornために、このコマンドを使用

gunicorn_django myapp.py --bind 127.0.0.1:8181 --timeout 120 --log-file /tmp/myapp.gunicorn.log --log-level info --workers 8 --pid /tmp/myapp.pid 

私はいくつかの痕跡を持っているのparam --spewをしようと試みたが、それは私を助けていません:

[2016-06-13 21:09:52 +0000] [15602] [INFO] Worker exiting (pid: 15602) 
[2016-06-13 21:09:52 +0000] [15601] [ERROR] Exception in worker process 
Traceback (most recent call last): 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker 
    worker.init_process() 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process 
    self.load_wsgi() 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi 
    self.wsgi = self.app.wsgi() 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi 
    self.callable = self.load() 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/gunicorn/app/djangoapp.py", line 106, in load 
    return mod.make_wsgi_application() 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/gunicorn/app/django_wsgi.py", line 37, in make_wsgi_application 
    if get_validation_errors(s): 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/django/core/management/validation.py", line 35, in get_validation_errors 
    for (app_name, error) in get_app_errors().items(): 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/django/db/models/loading.py", line 166, in get_app_errors 
    self._populate() 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/django/db/models/loading.py", line 72, in _populate 
    self.load_app(app_name, True) 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/django/db/models/loading.py", line 96, in load_app 
    models = import_module('.models', app_name) 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/home/myapp/prod/apps/admin/models.py", line 5, in <module> 
    from django.contrib.auth.models import User 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/django/contrib/auth/models.py", line 18, in <module> 
    from django.contrib.auth.hashers import (
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/django/contrib/auth/hashers.py", line 8, in <module> 
    from django.test.signals import setting_changed 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/django/test/__init__.py", line 6, in <module> 
    from django.test.testcases import (TestCase, TransactionTestCase, 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/django/test/testcases.py", line 35, in <module> 
    from django.test import _doctest as doctest 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/django/test/_doctest.py", line 104, in <module> 
    import unittest, difflib, pdb, tempfile 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/pdbpp-0.7.2-py2.7.egg/pdb.py", line 38, in <module> 
    pdb = import_from_stdlib('pdb') 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/pdbpp-0.7.2-py2.7.egg/pdb.py", line 35, in import_from_stdlib 
    mydict = execfile(pyfile, result.__dict__) 
    File "/usr/local/lib/python2.7/pdb.py", line 3, in <module> 
    """A Python debugger.""" 
    File "/usr/local/lib/python2.7/pdb.py", line 3, in <module> 
    """A Python debugger.""" 
    File "/home/myapp/.local/share/virtualenvs/myapp/lib/python2.7/site-packages/gunicorn/debug.py", line 40, in __call__ 
    line = src[lineno] 
IndexError: tuple index out of range 
[2016-06-13 21:09:52 +0000] [15601] [INFO] Worker exiting (pid: 15601) 

問題がでてきたよう私はグーグルコーンまたはDjangoと互換性のないいくつかのlibsをアップグレードするpipを疑う。私は成功もなくピップログをチェックしました。

runserverで私のDjangoアプリケーションを実行すると、バグは表示されません.Gunicornと非常に関連しているようです。

Gunicornをより深くデバッグする方法はありますか?

答えて

1

苦労して、私は最後にピップログ(HOME/.pip/pip.log)にヒントを見つけました。これらのように私の以前のlibsのいくつかのアップグレードのGoogle APIクライアントのインストール

Installing collected packages: pyopenssl, six, cryptography, idna, pyasn1, setuptools, enum34, ipaddress, cffi, pycparser 
    Found existing installation: pyOpenSSL 0.14 
    Uninstalling pyOpenSSL: 
... 
    Found existing installation: six 1.9.0 
    Uninstalling six: 
... 
    Found existing installation: cryptography 0.7.1 
    Uninstalling cryptography: 

を私はまたcyptographyのための警告いくつかのインストールに気づきました。私は古いライブラリを元に戻すことにしました。

  • pyOpenSSL 0.14
  • 6 1.9.0
  • 暗号0.7.1

そして、それは問題を解決しました。私はそれがpyopensslか暗号であるかどうかわかりませんが、これらのlibsの問題をすべて解決するのは本当に退屈です。

これは、次回誰かに役立つことを願っています。

関連する問題