Celery: рд░рд╛рдд 10:42 рдмрдЬреЗ рд╕реЗ рд╣рд░ рд░рд╛рдд рджрд╕рд┐рдпреЛрдВ рд╣рдЬрд╝рд╛рд░ рдмреИрдХрдПрдВрдб_рдХреНрд▓реАрдирдЕрдк рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрдВрдЬрд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ред рд╕рднреА async рдлрд╝рдВрдХреНрд╢рди рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 21 рдЕрдХреНрддреВре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: celery/celery

рдЬрд╛рдВрдЪ рд╕реВрдЪреА

  • [x] рдореИрдВрдиреЗ рдЗрд╢реНрдпреВ рдореЗрдВ celery -A proj report рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИред
    (рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо рдЕрдЬрд╡рд╛рдЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
    рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рднрд╛рд╡рд┐рдд)ред
  • [x] рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╕реЗрд▓реЗрд░реА рдХреА master рд╢рд╛рдЦрд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдореМрдЬреВрдж рд╣реИред

рдореЗрд░рд╛ рдРрдк django1.11 рдФрд░ Celery4.1[sqs] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реЗ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ рдмреАрдирд╕реНрдЯреЙрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Amazon AWS рдкрд░ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред AWS SQS рдмреНрд░реЛрдХрд░ рд╣реИред

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд░ рд░рд╛рдд рд▓рдЧрднрдЧ 10:42 рдмрдЬреЗ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдЬреЛ рд▓рдЧрднрдЧ 1 рдШрдВрдЯреЗ рддрдХ рдЪрд▓рддреА рд╣реИред рджрд╕рд┐рдпреЛрдВ рд╣рдЬрд╝рд╛рд░ рдмреИрдХрдПрдВрдб_рдХреНрд▓реАрдирдЕрдк рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдореЗрдВ рдХрд╛рд░реНрдп рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред CPU рдЙрдкрдпреЛрдЧ рдХрднреА-рдХрднреА 100% рдкрд░ рд░рд╣рддрд╛ рд╣реИред рдРрдк рдХрд╛ рд╣рд░ рдкреЗрдЬ рдЦреЛрд▓рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЗ 1 рдШрдВрдЯреЗ рдмрд╛рдж, CPU рдЙрдкрдпреЛрдЧ рд╡рд╛рдкрд╕ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрддрд╛рд░реЗрдВ рд▓рдЧ рд░рд╣реА рд╣реИрдВред рдХрд┐рд╕реА рднреА рджреЗрд░реА () рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдПрд╕рдХреНрдпреВрдПрд╕ рдореЗрдВ рдХрддрд╛рд░ рдХреЛ рд╢реБрджреНрдз рдХрд░рдирд╛ рд╣реИ, рдРрдк рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдкреВрд░реЗ рдХреЛрдб рдХреЛ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ рдкрд░ рдлрд┐рд░ рд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реИред рдлрд┐рд░ рджреЗрд░реА () рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдЧрд░ рдореИрдВ рдкрд░реНрдЬрд┐рдВрдЧ, рд░реА-рд╕реНрдЯрд╛рд░реНрдЯрд┐рдВрдЧ рдпрд╛ рд░реА-рдЕрдкрд▓реЛрдбрд┐рдВрдЧ рдирд╣реАрдВ рдХрд░рддрд╛, рддреЛ рдХреЛрдИ рднреА рдПрд╕рд┐рдВрдХреНрд╕ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдмреИрдХрдПрдВрдбрдХреНрд▓рдЕрдк рдХрд╛рд░реНрдп рднреА рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдореЗрд░реЗ рдРрдк рдореЗрдВ рдмрд┐рд▓реНрдЯ-рдЗрди рд╕реЗрд▓реЗрд░реА.рдмреИрдХрдПрдВрдб_рдХреНрд▓реАрдирдЕрдк рдЯрд╛рд╕реНрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрдИ рдЖрд╡рдзрд┐рдХ рдпрд╛ рдХреНрд░реЙрдиреНрдЯрд╛рдм рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░

рдмреИрдХрдПрдВрдб_рдХреНрд▓реАрдирдЕрдк рдХрд╛рд░реНрдп рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ рдРрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░

## рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд

рдЕрдЬрд╡рд╛рдЗрди-рд╡рд░реНрдЧ-рдХрд╛рд░реНрдпрдХрд░реНрддрд╛-report.txt

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдк рдмрд╕ рд╢реЗрдбреНрдпреВрд▓ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреНрд░реЙрд╕реНрдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ:
'celery.backend_cleanup': { 'task': 'celery.backend_cleanup', 'schedule': 86400, # every 24 hours instead of crontab('0', '4', '*') which is used in celery beat 'options': {'expires': 12 * 3600}} ,

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рдЕрднреА рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╢рд╛рдпрдж рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдп, рд╕реЗрд▓реЗрд░реА.рдмреИрдХрдПрдВрдб_рдХреНрд▓реАрдирдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдореИрдВрдиреЗ рдЕрднреА рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдРрдк рдЪрд▓рд╛рдпрд╛ рд╣реИред рдЬрдм рд░рд╛рдд рдХреЗ 10:42 рдмрдЬ рд░рд╣реЗ рдереЗ, рддреЛ рдЬрдмрд░рджрд╕реНрдд рдмреИрдХрдПрдВрдб_рдХреНрд▓реАрдирдЕрдк рдХрд╛рд░реНрдп рд╢реБрд░реВ рд╣реБрдП рдФрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЧрдПред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж, рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИред рдпрд╣рд╛рдБ рддреНрд░реБрдЯрд┐ рд╣реИред

[2017-10-23 22:51:27,677: CRITICAL/MainProcess] Unrecoverable error: Exception('Request Empty body  HTTP 599  Server aborted the SSL handshake (None)',)
Traceback (most recent call last):
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/celery/worker/worker.py", line 203, in start
    self.blueprint.start(self)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/celery/bootsteps.py", line 119, in start
    step.start(parent)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/celery/bootsteps.py", line 370, in start
    return self.obj.start()
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/celery/worker/consumer/consumer.py", line 320, in start
    blueprint.start(self)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/celery/bootsteps.py", line 119, in start
    step.start(parent)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/celery/worker/consumer/consumer.py", line 596, in start
    c.loop(*c.loop_args())
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/celery/worker/loops.py", line 88, in asynloop
    next(loop)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/kombu/async/hub.py", line 354, in create_loop
    cb(*cbargs)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/kombu/async/http/curl.py", line 111, in on_readable
    return self._on_event(fd, _pycurl.CSELECT_IN)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/kombu/async/http/curl.py", line 124, in _on_event
    self._process_pending_requests()
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/kombu/async/http/curl.py", line 132, in _process_pending_requests
    self._process(curl, errno, reason)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/kombu/async/http/curl.py", line 178, in _process
    buffer=buffer, effective_url=effective_url, error=error,
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/vine/promises.py", line 150, in __call__
    svpending(*ca, **ck)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/vine/promises.py", line 143, in __call__
    return self.throw()
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/vine/promises.py", line 140, in __call__
    retval = fun(*final_args, **final_kwargs)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/vine/funtools.py", line 100, in _transback
    return callback(ret)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/vine/promises.py", line 143, in __call__
    return self.throw()
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/vine/promises.py", line 140, in __call__
    retval = fun(*final_args, **final_kwargs)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/vine/funtools.py", line 98, in _transback
    callback.throw()
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/vine/funtools.py", line 96, in _transback
    ret = filter_(*args + (ret,), **kwargs)
  File "/Users/user/code/accusize-021/lib/python3.4/site-packages/kombu/async/aws/connection.py", line 253, in _on_status_ready
    raise self._for_status(response, response.read())
Exception: Request Empty body  HTTP 599  Server aborted the SSL handshake (None)

рдЗрд╕ рдмреАрдЪ, рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдПрд╕рдХреНрдпреВрдПрд╕ рд╕реЗ рдХрддрд╛рд░ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИред рдлрд┐рд░ рдХреБрдЫ рдмреИрдХрдПрдВрдб_рдХреНрд▓реАрдирдЕрдк рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд░рд╣реЗред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рдИ рджреАред

[реирежрезрен-резреж-реирей реиреи:релрез:реирео,репремрен: рдЪреЗрддрд╛рд╡рдиреА/рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛] резреж рдЕрдирдЬрд╛рдиреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдФрд░ рдЕрдВрдд рдореЗрдВ, SQS рдХрддрд╛рд░ рд╕реЗ HTTPS рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рд╣реЛ рдЧрдпрд╛ред рдРрдк рдПрд╕рдХреНрдпреВрдПрд╕ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрд╛ рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдРрдк рдХреЛ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ рдореЗрдВ рджреЛрдмрд╛рд░рд╛ рддреИрдирд╛рдд рдирд╣реАрдВ рдХрд░рддрд╛ред

рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдХрд┐рд╕реА рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдХрд╛рдлреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рддрдм рдирд╣реАрдВ рд╣реЛрддреА рдЬрдм рдореИрдВрдиреЗ CELERY_RESULT_BACKEND рдХреЛ "django-db" рд╕реЗ "redis" рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ CELERY_TIMEZONE рдХреЛ "UTC" рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ Django Admin рдореЗрдВ рдХрд╛рд░реНрдп рдкрд░рд┐рдгрд╛рдореЛрдВ рдиреЗ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЧрдпрд╛ рдерд╛ред

рдЖрдк рдмрд╕ рд╢реЗрдбреНрдпреВрд▓ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреНрд░реЙрд╕реНрдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ:
'celery.backend_cleanup': { 'task': 'celery.backend_cleanup', 'schedule': 86400, # every 24 hours instead of crontab('0', '4', '*') which is used in celery beat 'options': {'expires': 12 * 3600}} ,

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

synthead picture synthead  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

xiaods picture xiaods  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

keisetsu picture keisetsu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jmaroeder picture jmaroeder  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fbm picture fbm  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ