2016-12-11 10 views
7

セロリとAmazon SQSと一緒に働くDjangoアプリをプロダクションに持っています。私のセロリログの毎日は、私は、SSLエラーがあったことがわかります。Django + Celery + SQS - > boto.exception.SQSError:SQSError:599 gnutls_handshake()

ブローカーに再接続しようとしているときに次のエラーにより、次の
[ERROR/MainProcess] Empty body: SQSError: 599 gnutls_handshake() failed: An unexpected TLS packet was received. 

たまに
[2016-12-14 16:06:28,917: WARNING/MainProcess] consumer: Connection to broker lost. Trying to re-establish the connection... 
Traceback (most recent call last): 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/celery/worker/consumer/consumer.py", line 318, in start 
    blueprint.start(self) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/celery/bootsteps.py", line 119, in start 
    step.start(parent) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/celery/worker/consumer/consumer.py", line 584, in start 
    c.loop(*c.loop_args()) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/celery/worker/loops.py", line 88, in asynloop 
    next(loop) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/kombu/async/hub.py", line 284, in create_loop 
    poll_timeout = fire_timers(propagate=propagate) if scheduled else 1 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/kombu/async/hub.py", line 137, in fire_timers 
    entry() 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/kombu/async/timer.py", line 68, in __call__ 
    return self.fun(*self.args, **self.kwargs) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/kombu/async/timer.py", line 127, in _reschedules 
    return fun(*args, **kwargs) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/kombu/async/http/curl.py", line 108, in _timeout_check 
    self._process_pending_requests() 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/kombu/async/http/curl.py", line 132, in _process_pending_requests 
    self._process(curl, errno, reason) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/kombu/async/http/curl.py", line 178, in _process 
    buffer=buffer, effective_url=effective_url, error=error, 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/vine/promises.py", line 146, in __call__ 
    svpending(*ca, **ck) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/vine/promises.py", line 139, in __call__ 
    return self.throw() 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/vine/promises.py", line 136, in __call__ 
    retval = fun(*final_args, **final_kwargs) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/vine/funtools.py", line 100, in _transback 
    return callback(ret) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/vine/promises.py", line 139, in __call__ 
    return self.throw() 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/vine/promises.py", line 136, in __call__ 
    retval = fun(*final_args, **final_kwargs) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/vine/funtools.py", line 98, in _transback 
    callback.throw() 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/vine/funtools.py", line 96, in _transback 
    ret = filter_(*args + (ret,), **kwargs) 
    File "/home/ubuntu/virtualenvs/env/lib/python3.5/site-packages/kombu/async/aws/connection.py", line 269, in _on_list_ready 
    raise self._for_status(response, body) 
boto.exception.SQSError: SQSError: 599 gnutls_handshake() failed: An unexpected TLS packet was received. 

キューは、このメッセージと私の後にクラッシュされていますセロリの労働者を再開しなければならない。私はこのエラーが発生した後、一般的にセロリのタスクが実行され、正しく実行されているかどうかはわかりません。

この問題を解決する最善の方法は何ですか?

答えて

6

私の質問に答えを見つけたようです。問題はkombu - > pycurl - > curl - > gnutlsです。 GnuTLSライブラリは常にSSL接続を削除します。だから私が見つけた唯一の可能な解決策は、libcurlをGnuTLSの代わりにopensslと一緒に動かすことです。ここで

はステップガイドによって私のステップ"How to reinstall curl"

申し訳ありませんが、男ですが、私の恵みは私に戻って行きます! ;-)

関連する問題