Celery: рд╕реЗрд▓реЗрд░реА рд╡рд░реНрдХрд░ рдЯрд╛рдЗрдк рдПрд░рд░ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рдж рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ: 'рдХреЛрдИ рдирд╣реАрдВ рдЯрд╛рдЗрдк' рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдирд╡ре░ 2016  ┬╖  54рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: celery/celery

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

  • [X] рдореИрдВрдиреЗ рдЗрд╢реНрдпреВ рдореЗрдВ celery -A proj report рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИред
    (рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо рдЕрдЬрд╡рд╛рдЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
    рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рднрд╛рд╡рд┐рдд)ред
software -> celery:4.0.0 (latentcall) kombu:4.0.0 py:3.4.3
            billiard:3.5.0.2 py-amqp:2.1.1
platform -> system:Linux arch:64bit, ELF imp:CPython
loader   -> celery.loaders.default.Loader
settings -> transport:amqp results:disabled
  • [X] рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╕реЗрд▓реЗрд░реА рдХреА master рд╢рд╛рдЦрд╛ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдореМрдЬреВрдж рд╣реИред
    рд╣рд╛рдВ рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдорд╛рд╕реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг

рдмрд┐рд▓реНрдХреБрд▓ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдорд╛рди рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╡рд╛рд▓реА рдЕрдиреНрдп рдорд╢реАрдиреЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИрдВред

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

рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдПрдХ рдХрд╛рд░реНрдп рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдПрдХ рдЯреНрд░реЗрд╕рдмреИрдХ рд▓реЙрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдмреНрд░реЛрдХрд░ рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ:

[2016-11-23 23:09:00,468: INFO/MainProcess] Connected to amqp://user:**@10.136.131.6:5672//
[2016-11-23 23:09:00,484: INFO/MainProcess] mingle: searching for neighbors
[2016-11-23 23:09:01,921: INFO/MainProcess] mingle: sync with 1 nodes
[2016-11-23 23:09:01,922: INFO/MainProcess] mingle: sync complete
[2016-11-23 23:09:01,970: INFO/MainProcess] Received task: tasks.calculate_user_running_total[ddd103af-d527-4564-83f8-96b747767a0c]
[2016-11-23 23:09:01,972: CRITICAL/MainProcess] Unrecoverable error: TypeError("'NoneType' object is not callable",)
Traceback (most recent call last):
  File "./venv/lib/python3.4/site-packages/celery/worker/worker.py", line 203, in start
    self.blueprint.start(self)
  File "./venv/lib/python3.4/site-packages/celery/bootsteps.py", line 119, in start
    step.start(parent)
  File "./venv/lib/python3.4/site-packages/celery/bootsteps.py", line 370, in start
    return self.obj.start()
  File "./venv/lib/python3.4/site-packages/celery/worker/consumer/consumer.py", line 318, in start
    blueprint.start(self)
  File "./venv/lib/python3.4/site-packages/celery/bootsteps.py", line 119, in start
    step.start(parent)
  File "./venv/lib/python3.4/site-packages/celery/worker/consumer/consumer.py", line 584, in start
    c.loop(*c.loop_args())
  File "./venv/lib/python3.4/site-packages/celery/worker/loops.py", line 47, in asynloop
    consumer.consume()
  File "./venv/lib/python3.4/site-packages/kombu/messaging.py", line 470, in consume
    self._basic_consume(T, no_ack=no_ack, nowait=False)
  File "./venv/lib/python3.4/site-packages/kombu/messaging.py", line 591, in _basic_consume
    no_ack=no_ack, nowait=nowait)
  File "./venv/lib/python3.4/site-packages/kombu/entity.py", line 737, in consume
    arguments=self.consumer_arguments)
  File "./venv/lib/python3.4/site-packages/amqp/channel.py", line 1578, in basic_consume
    wait=None if nowait else spec.Basic.ConsumeOk,
  File "./venv/lib/python3.4/site-packages/amqp/abstract_channel.py", line 73, in send_method
    return self.wait(wait, returns_tuple=returns_tuple)
  File "./venv/lib/python3.4/site-packages/amqp/abstract_channel.py", line 93, in wait
    self.connection.drain_events(timeout=timeout)
  File "./venv/lib/python3.4/site-packages/amqp/connection.py", line 464, in drain_events
    return self.blocking_read(timeout)
  File "./venv/lib/python3.4/site-packages/amqp/connection.py", line 469, in blocking_read
    return self.on_inbound_frame(frame)
  File "./venv/lib/python3.4/site-packages/amqp/method_framing.py", line 88, in on_frame
    callback(channel, msg.frame_method, msg.frame_args, msg)
  File "./venv/lib/python3.4/site-packages/amqp/connection.py", line 473, in on_inbound_method
    method_sig, payload, content,
  File "./venv/lib/python3.4/site-packages/amqp/abstract_channel.py", line 142, in dispatch_method
    listener(*args)
  File "./venv/lib/python3.4/site-packages/amqp/channel.py", line 1613, in _on_basic_deliver
    fun(msg)
  File "./venv/lib/python3.4/site-packages/kombu/messaging.py", line 617, in _receive_callback
    return on_m(message) if on_m else self.receive(decoded, message)
  File "./venv/lib/python3.4/site-packages/celery/worker/consumer/consumer.py", line 558, in on_task_received
    callbacks,
  File "./venv/lib/python3.4/site-packages/celery/worker/strategy.py", line 145, in task_message_handler
    handle(req)
  File "./venv/lib/python3.4/site-packages/celery/worker/worker.py", line 221, in _process_task_sem
    return self._quick_acquire(self._process_task, req)
  File "./venv/lib/python3.4/site-packages/kombu/async/semaphore.py", line 62, in acquire
    callback(*partial_args, **partial_kwargs)
  File "./venv/lib/python3.4/site-packages/celery/worker/worker.py", line 226, in _process_task
    req.execute_using_pool(self.pool)
  File "./venv/lib/python3.4/site-packages/celery/worker/request.py", line 532, in execute_using_pool
    correlation_id=task_id,
  File "./venv/lib/python3.4/site-packages/celery/concurrency/base.py", line 155, in apply_async
    **options)
  File "./venv/lib/python3.4/site-packages/billiard/pool.py", line 1487, in apply_async
    self._quick_put((TASK, (result._job, None, func, args, kwds)))
TypeError: 'NoneType' object is not callable

рдЙрдкрд░реЛрдХреНрдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣рд░ рдХреБрдЫ рд╕реЗрдХрдВрдб рдореЗрдВ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдХрддрд╛рд░ рд╕реЗ рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

рдЗрд╕рдХреЗ рд▓рд┐рдП 4.0.1 . рдкрд░ рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИ

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

рд▓реЙрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐ рджреЛрд╣рд░рд╛рдИ рдЬрд╛ рд░рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдЬрд╡рд╛рдЗрди рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдбреЗрдореЙрди рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдордб рдЗрд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИред

@ask , self._quick_put рдХрд┐рд╕реА рддрд░рд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдмрд┐рд▓рд┐рдпрд░реНрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ None рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЕрдкрд╡рд╛рдж рдХреЛ рдкрдХрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ self._quick_put рдХрднреА рднреА None $ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдЬрдм рдореИрдВ рдмрд┐рд▓рд┐рдпрд░реНрдб/рдкреВрд▓.py#L1483 рдХреЛ if self.threads or self._quick_put is None: рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ рддреЛ рдЕрдЬрд╡рд╛рдЗрди рдЕрдм рдХреНрд░реИрд╢ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрднреА рднреА рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рд▓реЙрдЧрд┐рдВрдЧ рд╕реНрддрд░ DEBUG рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╡рд░реНрдмреЛрдЬрд╝ рдЖрдЙрдЯрдкреБрдЯ:

[2016-11-27 14:48:09,875: DEBUG/MainProcess] | Worker: Preparing bootsteps.
[2016-11-27 14:48:09,877: DEBUG/MainProcess] | Worker: Building graph...
[2016-11-27 14:48:09,878: DEBUG/MainProcess] | Worker: New boot order: {Timer, Hub, Pool, Autoscaler, StateDB, Beat, Consumer}
[2016-11-27 14:48:09,889: DEBUG/MainProcess] | Consumer: Preparing bootsteps.
[2016-11-27 14:48:09,889: DEBUG/MainProcess] | Consumer: Building graph...
[2016-11-27 14:48:09,898: DEBUG/MainProcess] | Consumer: New boot order: {Connection, Agent, Events, Mingle, Tasks, Control, Gossip, Heart, event loop}
[2016-11-27 14:48:09,908: DEBUG/MainProcess] | Worker: Starting Hub
[2016-11-27 14:48:09,908: DEBUG/MainProcess] ^-- substep ok
[2016-11-27 14:48:09,908: DEBUG/MainProcess] | Worker: Starting Pool
[2016-11-27 14:48:09,998: DEBUG/MainProcess] ^-- substep ok
[2016-11-27 14:48:09,999: DEBUG/MainProcess] | Worker: Starting Consumer
[2016-11-27 14:48:10,000: DEBUG/MainProcess] | Consumer: Starting Connection
[2016-11-27 14:48:10,016: DEBUG/MainProcess] Start from server, version: 0.9, properties: {'cluster_name': 'rabbit<strong i="6">@rabbitmq</strong>', 'product': 'RabbitMQ', 'version': '3.5.6', 'information': 'Licensed under the MPL.
  See http://www.rabbitmq.com/', 'capabilities': {'authentication_failure_close': True, 'consumer_priorities': True, 'consumer_cancel_notify': True, 'per_consumer_qos': True, 'basic.nack': True, 'publisher_confirms': True, 'connection.blocked': True, 'exchange_exchange_bindings': True}, 'copyright': 'Copyright (C) 2007-2015 Pivotal Software, Inc.', 'platform': 'Erlang/OTP'}, mechanisms: ['AMQPLAIN', 'PLAIN'], locales: ['en_US']
[2016-11-27 14:48:10,018: INFO/MainProcess] Connected to amqp://user:**@10.136.131.6:5672//
[2016-11-27 14:48:10,018: DEBUG/MainProcess] ^-- substep ok
[2016-11-27 14:48:10,019: DEBUG/MainProcess] | Consumer: Starting Events
[2016-11-27 14:48:10,031: DEBUG/MainProcess] Start from server, version: 0.9, properties: {'cluster_name': 'rabbit<strong i="7">@rabbitmq</strong>', 'product': 'RabbitMQ', 'version': '3.5.6', 'information': 'Licensed under the MPL.  See http://www.rabbitmq.com/', 'capabilities': {'authentication_failure_close': True, 'consumer_priorities': True, 'consumer_cancel_notify': True, 'per_consumer_qos': True, 'basic.nack': True, 'publisher_confirms': True, 'connection.blocked': True, 'exchange_exchange_bindings': True}, 'copyright': 'Copyright (C) 2007-2015 Pivotal Software, Inc.', 'platform': 'Erlang/OTP'}, mechanisms: ['AMQPLAIN', 'PLAIN'], locales: ['en_US']
[2016-11-27 14:48:10,034: DEBUG/MainProcess] ^-- substep ok
[2016-11-27 14:48:10,034: DEBUG/MainProcess] | Consumer: Starting Mingle
[2016-11-27 14:48:10,035: INFO/MainProcess] mingle: searching for neighbors
[2016-11-27 14:48:10,036: DEBUG/MainProcess] using channel_id: 1
[2016-11-27 14:48:10,041: DEBUG/MainProcess] Channel open
[2016-11-27 14:48:10,061: DEBUG/MainProcess] Start from server, version: 0.9, properties: {'cluster_name': 'rabbit<strong i="8">@rabbitmq</strong>', 'product': 'RabbitMQ', 'version': '3.5.6', 'information': 'Licensed under the MPL.  See http://www.rabbitmq.com/', 'capabilities': {'authentication_failure_close': True, 'consumer_priorities': True, 'consumer_cancel_notify': True, 'per_consumer_qos': True, 'basic.nack': True, 'publisher_confirms': True, 'connection.blocked': True, 'exchange_exchange_bindings': True}, 'copyright': 'Copyright (C) 2007-2015 Pivotal Software, Inc.', 'platform': 'Erlang/OTP'}, mechanisms: ['AMQPLAIN', 'PLAIN'], locales: ['en_US']
[2016-11-27 14:48:10,063: DEBUG/MainProcess] using channel_id: 1
[2016-11-27 14:48:10,064: DEBUG/MainProcess] Channel open
[2016-11-27 14:48:11,189: INFO/MainProcess] mingle: sync with 3 nodes
[2016-11-27 14:48:11,190: DEBUG/MainProcess] mingle: processing reply from celery<strong i="9">@worker03</strong>
[2016-11-27 14:48:11,190: DEBUG/MainProcess] mingle: processing reply from celery<strong i="10">@worker02</strong>
[2016-11-27 14:48:11,190: DEBUG/MainProcess] mingle: processing reply from celery<strong i="11">@worker01</strong>
[2016-11-27 14:48:11,190: INFO/MainProcess] mingle: sync complete
[2016-11-27 14:48:11,191: DEBUG/MainProcess] ^-- substep ok
[2016-11-27 14:48:11,191: DEBUG/MainProcess] | Consumer: Starting Tasks
[2016-11-27 14:48:11,244: DEBUG/MainProcess] ^-- substep ok
[2016-11-27 14:48:11,244: DEBUG/MainProcess] | Consumer: Starting Control
[2016-11-27 14:48:11,244: DEBUG/MainProcess] using channel_id: 2
[2016-11-27 14:48:11,246: DEBUG/MainProcess] Channel open
[2016-11-27 14:48:11,251: DEBUG/MainProcess] ^-- substep ok
[2016-11-27 14:48:11,251: DEBUG/MainProcess] | Consumer: Starting Gossip
[2016-11-27 14:48:11,252: DEBUG/MainProcess] using channel_id: 3
[2016-11-27 14:48:11,253: DEBUG/MainProcess] Channel open
[2016-11-27 14:48:11,257: DEBUG/MainProcess] ^-- substep ok
[2016-11-27 14:48:11,258: DEBUG/MainProcess] | Consumer: Starting Heart
[2016-11-27 14:48:11,259: DEBUG/MainProcess] using channel_id: 1
[2016-11-27 14:48:11,260: DEBUG/MainProcess] Channel open
[2016-11-27 14:48:11,261: DEBUG/MainProcess] ^-- substep ok
[2016-11-27 14:48:11,261: DEBUG/MainProcess] | Consumer: Starting event loop
[2016-11-27 14:48:11,264: INFO/MainProcess] Received task: wakatime.tasks.cache_coding_activity[0eba267c-72e4-40ea-91dd-a1a7ab17c514]
[2016-11-27 14:48:11,265: DEBUG/MainProcess] TaskPool: Apply <function _fast_trace_task at 0x7ff469300950> (args:('wakatime.tasks.cache_coding_activity', '0eba267c-72e4-40ea-91dd-a1a7ab17c514', {'argsrepr': '()', 'task': 'wakatime.tasks.cache_coding_activity', 'lang': 'py', 'parent_id': '81f0c7ce-1396-496f-bf64-ae243736c845', 'timelimit': [None, None], 'root_id': '128647cc-f558-4b7d-bafc-338d186b5cfa', 'reply_to': 'e3c2b067-a058-3aa0-a3a1-384d4b917bbf', 'retries': 0, 'expires': None, 'delivery_info': {'exchange': '', 'priority': None, 'routing_key': 'cache', 'redelivered': True}, 'id': '0eba267c-72e4-40ea-91dd-a1a7ab17c514', 'correlation_id': '0eba267c-72e4-40ea-91dd-a1a7ab17c514', 'group': None, 'eta': None, 'kwargsrepr': "{'cache_projects': True, 'timeout': 15, 'user_id': UUID('d9c69ce0-f194-45a6-83cf-98f931fca8aa'), 'writes_only': False}", 'origin': 'gen3021<strong i="12">@worker02</strong>'}, '[[], {"cache_projects": true, "timeout": 15, "user_id": "d9c69ce0-f194-45a6-83cf-98f931fca8aa", "writes_only": false}, {"callbacks": null, "chain": null, "chord": null, "errbacks": null}]', 'application/json', 'utf-8') kwargs:{})
[2016-11-27 14:48:11,266: CRITICAL/MainProcess] Unrecoverable error: TypeError("'NoneType' object is not callable",)
Traceback (most recent call last):
  File "./venv/src/celery/celery/worker/worker.py", line 203, in start
    self.blueprint.start(self)
  File "./venv/src/celery/celery/bootsteps.py", line 119, in start
    step.start(parent)
  File "./venv/src/celery/celery/bootsteps.py", line 370, in start
    return self.obj.start()
  File "./venv/src/celery/celery/worker/consumer/consumer.py", line 318, in start
    blueprint.start(self)
  File "./venv/src/celery/celery/bootsteps.py", line 119, in start
    step.start(parent)
  File "./venv/src/celery/celery/worker/consumer/consumer.py", line 593, in start
    c.loop(*c.loop_args())
  File "./venv/src/celery/celery/worker/loops.py", line 47, in asynloop
    consumer.consume()
  File "./venv/lib/python3.4/site-packages/kombu/messaging.py", line 470, in consume
    self._basic_consume(T, no_ack=no_ack, nowait=False)
  File "./venv/lib/python3.4/site-packages/kombu/messaging.py", line 591, in _basic_consume
    no_ack=no_ack, nowait=nowait)
  File "./venv/lib/python3.4/site-packages/kombu/entity.py", line 737, in consume
    arguments=self.consumer_arguments)
  File "./venv/lib/python3.4/site-packages/amqp/channel.py", line 1578, in basic_consume
    wait=None if nowait else spec.Basic.ConsumeOk,
  File "./venv/lib/python3.4/site-packages/amqp/abstract_channel.py", line 73, in send_method
    return self.wait(wait, returns_tuple=returns_tuple)
  File "./venv/lib/python3.4/site-packages/amqp/abstract_channel.py", line 93, in wait
    self.connection.drain_events(timeout=timeout)
  File "./venv/lib/python3.4/site-packages/amqp/connection.py", line 464, in drain_events
    return self.blocking_read(timeout)
  File "./venv/lib/python3.4/site-packages/amqp/connection.py", line 469, in blocking_read
    return self.on_inbound_frame(frame)
  File "./venv/lib/python3.4/site-packages/amqp/method_framing.py", line 88, in on_frame
    callback(channel, msg.frame_method, msg.frame_args, msg)
  File "./venv/lib/python3.4/site-packages/amqp/connection.py", line 473, in on_inbound_method
    method_sig, payload, content,
  File "./venv/lib/python3.4/site-packages/amqp/abstract_channel.py", line 142, in dispatch_method
    listener(*args)
  File "./venv/lib/python3.4/site-packages/amqp/channel.py", line 1613, in _on_basic_deliver
    fun(msg)
  File "./venv/lib/python3.4/site-packages/kombu/messaging.py", line 617, in _receive_callback
    return on_m(message) if on_m else self.receive(decoded, message)
  File "./venv/src/celery/celery/worker/consumer/consumer.py", line 567, in on_task_received
    callbacks,
  File "./venv/src/celery/celery/worker/strategy.py", line 145, in task_message_handler
    handle(req)
  File "./venv/src/celery/celery/worker/worker.py", line 221, in _process_task_sem
    return self._quick_acquire(self._process_task, req)
  File "./venv/lib/python3.4/site-packages/kombu/async/semaphore.py", line 62, in acquire
    callback(*partial_args, **partial_kwargs)
  File "./venv/src/celery/celery/worker/worker.py", line 226, in _process_task
    req.execute_using_pool(self.pool)
  File "./venv/src/celery/celery/worker/request.py", line 532, in execute_using_pool
    correlation_id=task_id,
  File "./venv/src/celery/celery/concurrency/base.py", line 155, in apply_async
    **options)
  File "./venv/lib/python3.4/site-packages/billiard/pool.py", line 1487, in apply_async
    self._quick_put((TASK, (result._job, None, func, args, kwds)))
TypeError: 'NoneType' object is not callable
[2016-11-27 14:48:11,273: DEBUG/MainProcess] | Worker: Closing Hub...
[2016-11-27 14:48:11,274: DEBUG/MainProcess] | Worker: Closing Pool...
[2016-11-27 14:48:11,274: DEBUG/MainProcess] | Worker: Closing Consumer...
[2016-11-27 14:48:11,274: DEBUG/MainProcess] | Worker: Stopping Consumer...
[2016-11-27 14:48:11,274: DEBUG/MainProcess] | Consumer: Closing Connection...
[2016-11-27 14:48:11,275: DEBUG/MainProcess] | Consumer: Closing Events...
[2016-11-27 14:48:11,275: DEBUG/MainProcess] | Consumer: Closing Mingle...
[2016-11-27 14:48:11,275: DEBUG/MainProcess] | Consumer: Closing Tasks...
[2016-11-27 14:48:11,275: DEBUG/MainProcess] | Consumer: Closing Control...
[2016-11-27 14:48:11,275: DEBUG/MainProcess] | Consumer: Closing Gossip...
[2016-11-27 14:48:11,276: DEBUG/MainProcess] | Consumer: Closing Heart...
[2016-11-27 14:48:11,276: DEBUG/MainProcess] | Consumer: Closing event loop...
[2016-11-27 14:48:11,276: DEBUG/MainProcess] | Consumer: Stopping event loop...
[2016-11-27 14:48:11,276: DEBUG/MainProcess] | Consumer: Stopping Heart...
[2016-11-27 14:48:11,277: DEBUG/MainProcess] | Consumer: Stopping Gossip...
[2016-11-27 14:48:11,278: INFO/MainProcess] Received task: wakatime.tasks.cache_coding_activity[f786fc75-0518-4893-8988-ff7f063edd12]
[2016-11-27 14:48:11,278: DEBUG/MainProcess] TaskPool: Apply <function _fast_trace_task at 0x7ff469300950> (args:('wakatime.tasks.cache_coding_activity', 'f786fc75-0518-4893-8988-ff7f063edd12', {'argsrepr': '()', 'task': 'wakatime.tasks.cache_coding_activity', 'lang': 'py', 'parent_id': '81f0c7ce-1396-496f-bf64-ae243736c845', 'timelimit': [None, None], 'root_id': '128647cc-f558-4b7d-bafc-338d186b5cfa', 'reply_to': 'e3c2b067-a058-3aa0-a3a1-384d4b917bbf', 'retries': 0, 'expires': None, 'delivery_info': {'exchange': '', 'priority': None, 'routing_key': 'cache', 'redelivered': True}, 'id': 'f786fc75-0518-4893-8988-ff7f063edd12', 'correlation_id': 'f786fc75-0518-4893-8988-ff7f063edd12', 'group': None, 'eta': None, 'kwargsrepr': "{'cache_projects': True, 'timeout': 15, 'user_id': UUID('7056644f-2564-4074-b89e-631973879f44'), 'writes_only': False}", 'origin': 'gen3021<strong i="13">@worker02</strong>'}, '[[], {"cache_projects": true, "timeout": 15, "user_id": "7056644f-2564-4074-b89e-631973879f44", "writes_only": false}, {"callbacks": null, "chain": null, "chord": null, "errbacks": null}]', 'application/json', 'utf-8') kwargs:{})
[2016-11-27 14:48:11,279: INFO/MainProcess] Received task: wakatime.tasks.cache_coding_activity[d5c8dc57-116c-467d-9924-e2999280c2f8]
[2016-11-27 14:48:11,280: INFO/MainProcess] Received task: wakatime.tasks.cache_coding_activity[460ef864-e482-4b0f-8580-d0095750bae6]
[2016-11-27 14:48:11,281: DEBUG/MainProcess] Closed channel #3
[2016-11-27 14:48:11,281: DEBUG/MainProcess] | Consumer: Stopping Control...
[2016-11-27 14:48:11,283: DEBUG/MainProcess] Closed channel #2
[2016-11-27 14:48:11,283: DEBUG/MainProcess] | Consumer: Stopping Tasks...
[2016-11-27 14:48:11,284: DEBUG/MainProcess] Canceling task consumer...
[2016-11-27 14:48:11,286: DEBUG/MainProcess] | Consumer: Stopping Mingle...
[2016-11-27 14:48:11,286: DEBUG/MainProcess] | Consumer: Stopping Events...
[2016-11-27 14:48:11,286: DEBUG/MainProcess] | Consumer: Stopping Connection...
[2016-11-27 14:48:11,286: DEBUG/MainProcess] | Worker: Stopping Pool...
[2016-11-27 14:48:12,800: DEBUG/MainProcess] result handler: all workers terminated
[2016-11-27 14:48:12,801: DEBUG/MainProcess] | Worker: Stopping Hub...
[2016-11-27 14:48:12,801: DEBUG/MainProcess] | Consumer: Shutdown Heart...
[2016-11-27 14:48:12,802: DEBUG/MainProcess] | Consumer: Shutdown Gossip...
[2016-11-27 14:48:12,802: DEBUG/MainProcess] | Consumer: Shutdown Control...
[2016-11-27 14:48:12,802: DEBUG/MainProcess] | Consumer: Shutdown Tasks...
[2016-11-27 14:48:12,803: DEBUG/MainProcess] Canceling task consumer...
[2016-11-27 14:48:12,803: DEBUG/MainProcess] Closing consumer channel...
[2016-11-27 14:48:12,803: DEBUG/MainProcess] | Consumer: Shutdown Events...
[2016-11-27 14:48:12,804: DEBUG/MainProcess] Closed channel #1
[2016-11-27 14:48:12,805: DEBUG/MainProcess] | Consumer: Shutdown Connection...
[2016-11-27 14:48:12,806: DEBUG/MainProcess] Closed channel #1
[2016-11-27 14:48:12,807: DEBUG/MainProcess] removing tasks from inqueue until task handler finished

рдЗрд╕реЗ рд╕реЗрд▓реЗрд░реА 4.x рдХреЗ рд╕рд╛рде рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ 3.1.24 рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдиреЗ рд╕реЗ рдЯреНрд░реЗрд╕рдмреИрдХ рдХреЛ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдореЗрд░реЗ рд╕рд╛рде Linux Python 3.4 рдкрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд┐рди рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

_quick_put рдХрднреА рднреА рдХреЛрдИ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП btwред рдХреНрдпрд╛ рдпрд╣ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдпрд╛ рд╣рдореЗрд╢рд╛ рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж рд╣реЛрддрд╛ рд╣реИ?

рдореИрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдмреНрд░реЛрдХрд░ рдХреЛ рд░реЛрдХрдХрд░ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЕрднреА рднреА рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИред

рд╣рдореЗрд╢рд╛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ред рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рддрд░реНрдХ рд╣реИрдВ:

/opt/app/venv/bin/python /opt/app/venv/bin/celery worker --app=wakatime.celery --workdir=/opt/app --logfile=/var/log/celery/worker.log --loglevel=INFO --concurrency=50 --exclude-queues=medium,low,cache

рдЗрд╕рдХреЗ рд▓рд┐рдП 4.0.1 . рдкрд░ рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИ

@ask рдореИрдВ рдЗрд╕реЗ рд╣рд░ рдмрд╛рд░ рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реВрдВ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдмреНрд░реЛрдХрд░ рдкрд░ рд╕рдВрджреЗрд╢ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рдЖрдиреЗ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдмреАрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдореЗрд░рд╛ рдорд╛рдорд▓рд╛ рд╣реИред рдпрджрд┐ рдмреАрдЯ рд╕реЗрд╡рд╛рдПрдВ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рдордиреЗ рдСрдирд▓рд╛рдЗрди рдЖрддреА рд╣реИрдВ, рддреЛ рдЖрдк рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред рдореИрдВ рдЙрд╕ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЬрдЧрд░ 2.7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рд▓рдЧрд╛рддрд╛рд░ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред

рдпрд╣ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ #3539 . рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

@jmesquita рдЬреЛ рдореЗрд░реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдореЗрд░реА рдХрддрд╛рд░реЛрдВ рдореЗрдВ рджрд▓рд╛рд▓ рдкрд░ рд╣рдореЗрд╢рд╛ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рд╣реЛрддреЗ рд╣реИрдВред

@alanhamlett рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдХреЛрдб рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдЬрд╡рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЬреАрдм рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд╕реЗрд▓реЗрд░реА рдФрд░ рд╕реЗрд▓реЗрд░реА рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрддрд╛рд░рдмрджреНрдз рд╣реИрдВ, рдпрд╣ рд╕рдореБрджрд╛рдп рдХреЗ рднреАрддрд░ рд╡рд┐рд╕реНрдлреЛрдЯ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рдХреЛрдб рдореЗрдВ рдереЛрдбрд╝рд╛ рдЦреЛрджрд╛, _quick_put рдХреЛ AsyncPool._create_write_handlers рджреНрд╡рд╛рд░рд╛ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ AsyncPool.register_with_event_loop рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ celery.worker.loops.asynloop рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рддрд╣реА рддреМрд░ рдкрд░, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ рдХрд┐ asynloop рдкрд╣рд▓реЗ consumer.consume() рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА obj.register_with_event_loop рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг _quick_put рд╣реЛрдиреЗ рдкрд░ None рдЗрд╕реЗ consume() рдХреЗ рднреАрддрд░ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рд╕рдордЭрд╛рдПрдЧрд╛ рдХрд┐ рдЬрдм рдЗрд╡реЗрдВрдЯ рд▓реВрдк рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХрддрд╛рд░ рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рддрдм consume() рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЗрд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддреЛ register_with_event_loop рд╣реЛрдЧрд╛ рдкрд╣рд▓реЗ рд╣реА рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред

рдореИрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рдерд╛

obj.controller.register_with_event_loop(hub)
obj.register_with_event_loop(hub)

consumer.consume() рд╕реЗ рдкрд╣рд▓реЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╣реБрдд рд╣реА рдмреЗрд╡рдХреВрдл (рдФрд░ рд╕рдВрднрд╡рддрдГ рдЧрд▓рдд) рдлрд┐рдХреНрд╕ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдЬрд╡рд╛рдЗрди рдмреАрдЯ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХреНрд╖рдгрд┐рдХ рдмрдирд╛рдХрд░ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд┐рдпрд╛, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реИрд╕реЗ рднреА рдореЗрд░рд╛ рдЗрдЪреНрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдореБрдЭреЗ рдЕрдЬрд╡рд╛рдЗрди рдФрд░ рдЗрд╕рдХреЗ рдХреЛрдбрдмреЗрд╕ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдиреБрднрд╡ рд╣реЛрдЧрд╛, рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЗрдЦреВрдВрдЧрд╛ред

@jmesquita :

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЗрд▓реЗрд░реА рдмреАрдЯ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХреНрд╖рдгрд┐рдХ рдмрдирд╛рдХрд░ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛

рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдпрджрд┐ рдореИрдВ рдПрдХрд╛рдзрд┐рдХ рдХрддрд╛рд░реЛрдВ рд╕реЗ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдХреЗрд╡рд▓ рдЗрд╕ рдмрдЧ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдпрджрд┐ рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА рдХрддрд╛рд░ рд╕реЗ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдЕрдкреЗрдХреНрд╖рд┐рдд рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ (рдХрддрд╛рд░ рдкрд░ рд╕рдВрджреЗрд╢ рдареАрдХ рд╕реЗ рдЙрдкрднреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред

@adewes рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдХрдо рд╕реЗ рдХрдо рд╕рддрд╣ рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

@adewes рдХреНрдпрд╛ рдЖрдк рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдЖрдкрдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд╕рдХреЗрдВ?

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИрдВ? рдпрд╣ рд╣рдореЗрдВ рдЕрдм рдЙрддреНрдкрд╛рджрди рд╕рд╣рд┐рдд рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ TypeError рдореБрджреНрджрд╛ рдорд┐рд▓рддрд╛ рд╣реИред рд╣рдореЗрдВ рд╕реЗрд▓реЗрд░реА 3 рдкрд░ рд╡рд╛рдкрд╕ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдЕрдм рддрдХ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛, рдЗрд╕реЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг 3 рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЬрд▓реНрдж рд╣реА рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧреАред @ рдореЗрд░реЗ "рдХреНрд╡рд┐рдХ рдлрд┐рдХреНрд╕" рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкреВрд░рд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдирд┐рдХрд▓рд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдЦреЛрд▓ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдШрдЯрдХреЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд╛рдХрд┐рдл рдирд╣реАрдВ рд╣реВрдВ (рдпрд╣рд╛рдВ рдЦреЗрд▓рдиреЗ рдореЗрдВ рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ), рдЗрд╕рд▓рд┐рдП рдореИрдВ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЕрднреА рдЗрд╕реЗ рдФрд░ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рднреА рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╣рдо v2 рдХрд╛рд░реНрдп рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ рд╕рдВрджреЗрд╢ рд╢реАрд░реНрд╖рд▓реЗрдЦреЛрдВ рдХреЗ рдирдП рдЙрдкрдпреЛрдЧ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред

@ рдкреВрдЫреЛ - рдореБрдЭреЗ рд╕реНрдХреНрд░реАрдирд╢реЗрдпрд░ рдпрд╛ рдЖрдкрдХреЗ рд╕рд╛рде рдЬреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рдбрд┐рдмрдЧ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╕рдЯреАрдХ рд╡рд╛рддрд╛рд╡рд░рдг рджреЗрдЦ рд╕рдХреЗрдВ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реЛ рддреЛ рд░рд┐рдореЛрдЯ рдбреАрдмрдЧ рдЦреЛрд▓рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд╣рдо рдереЛрдбрд╝реЗ рд╕реЗ рдмрдВрдзрди рдореЗрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕реЗрд▓реЗрд░реА 4 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░ рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдХрд╛рдВрдЯрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

pip install -e git://github.com/alanhamlett/celery.git@73147a9da31f2932eb4778e9474fbe72f23d21c2#egg=Celery

рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА #3752 рдЦреЛрд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдмрдЧ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреЗ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рд╕реЛрдЪрдиреЗ рд▓рдЧрд╛ рдХрд┐ рдореИрдВ рдкрд╛рдЧрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реВрдБ... рдореИрдВрдиреЗ 4.0.2 (рд╡рд░реНрддрдорд╛рди рдореЗрдВ 4.0.0 рдкрд░) рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЙрд╕ рдЕрдкрдЧреНрд░реЗрдб рдХреЗ рд╕рд╛рде, рдЕрдЪрд╛рдирдХ self.retry() рдиреЗ рднреА рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред

рд╕реАрдПрд▓рдЖрдИ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрддрд╛рд░реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордиреЗ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ (4.0.0 рдХреЛ)

рд╣рдо рд╕реАрдПрд▓рдЖрдИ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреНрдпреВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ; рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдореБрджреНрджрд╛ рдерд╛ред

рд╢реБрдХреНрд░рд╡рд╛рд░, 13 рдЬрдирд╡рд░реА, 2017 рдХреЛ рд╕реБрдмрд╣ 5:35 рдмрдЬреЗ, рдХрд░реЛрд▓ рджреБрд▓реЗрдмрд╛ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рд╕реАрдПрд▓рдЖрдИ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрддрд╛рд░реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдПрдХ рд╡реЙрдХ рдЕрд░рд╛рдЙрдВрдб (on .) рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ
4.0.0)

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/celery/celery/issues/3620#issuecomment-272412258 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/ABRHQSzvyRcQI5qvfufNwPJvXNElcQKPks5rR1NggaJpZM4K7LEz
.

@jdotjdot - рдореИрдВ рд╡рд╣реА рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдХрддрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ред
рдХрддрд╛рд░ рдореЗрдВ рдбреЗрдЯрд╛ рд╣реЛрдиреЗ рдкрд░ рдореБрдЭреЗ рдХреЗрд╡рд▓ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдпрджрд┐ рдХрддрд╛рд░реЗрдВ рдЦрд╛рд▓реА рд╣реИрдВ, рддреЛ рдореИрдВ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рд╡реЗ рдЪрд▓реЗрдВрдЧреЗред

+1

рдпрд╣ рд╕рдЯреАрдХ рдореБрджреНрджрд╛ рд╣реЛрдирд╛ред рдХреЗрд╡рд▓ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рдмреНрд░реЛрдХрд░ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ (рдЬреЛ рдХрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ)ред

+1

рдЗрд╕рдХреЗ рдмрд╛рдж, #3773, рдмреБрдирд┐рдпрд╛рджреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдХрдореА, рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рдореИрдВ рд╢рд╛рдпрдж рд╕реЗрд▓реЗрд░реА рдХреЛ https://github.com/closeio/tasktiger рд╕реЗ рдмрджрд▓ рджреВрдВрдЧрд╛ред рдХреНрдпрд╛ рдХреЛрдИ #3752 рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ? рдЖрдкрдХреЛ рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

@alanhamlett рдореБрдЭреЗ рдЯрд╛рд╕реНрдХрдЯрд╛рдЗрдЧрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрд╢рд╛рдЬрдирдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдкрд░рд┐рдкрдХреНрд╡/рд╕реНрдерд┐рд░/рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ? рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рд╕реВрдХреНрд╖реНрдо рдврд╛рдВрдЪреЗ рдХрд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ, рдФрд░ рдЕрдм рд╕реЗрд▓реЗрд░реА рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХрдИ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде + рдкрд╛рдпрдерди 3 рдкрд░ рд╕реНрд╡рд┐рдЪрдУрд╡рд░ ... рдЪреАрдЬреЗрдВ рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд░рд╣реА рд╣реИрдВ (рдХрдо рд╕реЗ рдХрдо рдореЗрд░реА рддреИрдирд╛рддреА рдкрд░)ред

рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдкреАрдЖрд░ #3752 рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдлрд┐рдХреНрд╕ рд╣реИ, рдЗрд╕реЗ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдХреНрдпрд╛ рдпреЛрдЬрдирд╛ рд╣реИ? рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рд╕реЗрд▓реЗрд░реА 4.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдЖрдк рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдорд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрджреЗрд╢ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред

рдЗрд╕реЗ рднреА рдорд░реНрдЬ рд╣реЛрддреЗ рд╣реБрдП рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ

рд╢реНрд░рдорд┐рдХреЛрдВ рдХреА рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдкреНрд░рдХреГрддрд┐ рд╕реЗрд▓реЗрд░реА рдХреЗ рд▓рд┐рдП рдЗрддрдиреА рдореМрд▓рд┐рдХ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдореИрдВ рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдРрд╕реЗ рдХрдИ рдЕрдиреНрдп рдореБрджреНрджреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдкрд╛рддреНрд░ рд╣реИрдВред рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рдЪреАрдЬ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЙрддреНрдкрд╛рдж рдореЗрдВ рдЬрд╛рдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИред рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрдм рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

@johnatron рдореИрдВрдиреЗ рднреА рдпрд╣реА рд╕реЛрдЪрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдб рдореЗрдВ рдХрдИ рдЕрдиреНрдп рдирдП рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдмрдЧ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬреЛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕реНрдкреЗрдХ 3.x рдФрд░ 4.x рдХреЗ рдмреАрдЪ рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЯрд╛рд╕реНрдХрдЯрд╛рдЗрдЧрд░ рдЬреИрд╕реЗ рд╕реЗрд▓реЗрд░реА рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ред рдЙрддреНрдкрд╛рдж рдореЗрдВ рдЕрдЬрд╡рд╛рдЗрди 4.xx рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред

рд╕рдВрджреЗрд╢ рдпреБрдХреНрддрд┐ 3.x рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХреНрд░реЙрд╕-рд╕рдВрдЧрдд рд╣реИред

рдореИрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдмрд╣реБрдд рд╣реИрд░рд╛рди рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рдПрд▓рди рдХрд╛ рдХрд╛рдВрдЯрд╛ рдЕрднреА рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╣реИред

рд╕реЛрдо, рдлрд░рд╡рд░реА 13, 2017 рдЕрдкрд░рд╛рд╣реНрди 2:05 рдмрдЬреЗ, рдПрд▓рди рд╣реИрдорд▓реЗрдЯ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@johnatron https://github.com/johnatron рдореИрдВрдиреЗ рднреА рдпрд╣реА рд╕реЛрдЪрд╛ рдерд╛, рд▓реЗрдХрд┐рди
рдкреНрд░реЛрдб рдореЗрдВ рдХрдИ рдЕрдиреНрдп рдирдП рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдмрдЧ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рдкрдбрд╝рд╛,
рдЬреЛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕реНрдкреЗрдХ 3.x . рдХреЗ рдмреАрдЪ рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ
рдФрд░ 4.x. рдореБрдЭреЗ рд╕реЗрд▓реЗрд░реА рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛, рдЬреИрд╕реЗ рдЯрд╛рд╕реНрдХрдЯрд╛рдЗрдЧрд░
https://github.com/closeio/tasktiger ред рдЕрдЬрд╡рд╛рдЗрди 4.xx in . рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ
рдЙрддреНрдкрд╛рдж.

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/celery/celery/issues/3620#issuecomment-279489134 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/ABRHQZkHixjDu37IA7PbAW6iJYcVTGevks5rcKligaJpZM4K7LEz
.

рдЗрд╕ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рджреЗрд░реА рдХреЗ рдЖрд▓реЛрдХ рдореЗрдВ рдореИрдВрдиреЗ рдЬреНрдЮрд╛рдд рд╕реЗрд▓реЗрд░реА 4 рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ git+http://github.com/Eugeny/celery#egg=celery==4.0.2.1 рдореЗрдВ рдПрдХ рд╕рд╛рде рдорд┐рд▓рд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛
рдпрд╣ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ:

  • рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП @alanhamlett рдХрд╛ рд╕рдорд╛рдзрд╛рди
  • @HealthTechDevelopers рдХреЗ django-celery-beat рд╢реЗрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ рдкреБрдирдГ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ

рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЕрдм рддрдХ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ

рд╕рдВрджреЗрд╢ рдпреБрдХреНрддрд┐ рдХреНрд░реЙрд╕ рд╕рдВрдЧрдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗрд▓реЗрд░реА рдХреИрдирд╡рд╛рд╕ рдФрд░ рдЪреЗрдирд┐рдВрдЧ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ (рд╕реВрдХреНрд╖реНрдо) рдЕрд╕рдВрдЧрдд рдЕрдВрддрд░ рд╣реЛрддреЗ рд╣реИрдВ (рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдЬрд┐рд╕рдХрд╛ рд╣рдо рдмрд╣реБрдд рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)ред рд╣рдорд╛рд░реЗ рдРрдк рдХреЛ v3 рд╕реЗ v4 рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдП рдЧрдПред рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдПрдХ рдмреБрд░рд╛ рд╕рдордп рд╣реЛрдЧрд╛ред

рд╣реЗ рдЙрдЬрд▓реЗ рджрд┐рди! рдзрдиреНрдпрд╡рд╛рджред

рдореБрдЭреЗ рдкрд╛рдпрдерди 3.6 рдФрд░ рдЕрдЬрд╡рд╛рдЗрди 4.0.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдЕрдЬрд╡рд╛рдЗрди рдмрдВрдж рдХрд░реЗрдВ, рдПрдХ рдХрд╛рд░реНрдп рдмрдирд╛рдПрдВ, рдЕрдЬрд╡рд╛рдЗрди рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рддреБрд░рдВрдд TypeError: 'NoneType' object is not callable рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред @ask рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реБрдзрд╛рд░реЛрдВ рдФрд░ рд╡рд┐рд▓рдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣ рдЕрдЬрд╡рд╛рдЗрди рдХреЗ рдкрд╣рд▓реЗ рдЦреБрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдЬрд╡рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ :(

рдЖрдкрдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @ask!

"рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред

рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдмреАрдд рд░рд╣рд╛ рд╣реИ, рдФрд░ рд╕реЗрд▓реЗрд░реА рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдирд┐рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИрдВред рдпрджрд┐ рдЖрдк рдРрд╕реА рдХрдВрдкрдиреА рд╣реИрдВ рдЬрд┐рд╕реЗ рдЗрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред"
рд╢рд╛рдпрдж рдареАрдХ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИред

@tiptoettt рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдореИрдХ рдкрд░ рд╣реВрдВред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╕рднреА рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ? рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рд╕реЗрд▓реЗрд░реА рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред рдореИрдВрдиреЗ 5 рд╕рд╛рд▓ рд╕реЗ рдЕрдЬрд╡рд╛рдЗрди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореИрдВ рдПрдХ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг 3.1.25 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдпрджрд┐ рдЗрд╕рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рд╕рд╛рде рд╣реА рдпрд╣ рд╕рдорд╕реНрдпрд╛

lpiner<strong i="6">@host</strong>:~$ uname -a
Linux host 4.4.0-72-generic #93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
lpiner<strong i="9">@host</strong>:~$ celery --version
4.0.2 (latentcall)

рдпрд╣ рдХреЛрдб рдХреА рд░реЗрдЦрд╛ рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ:

task_queues = (
    Queue('queue1_name', Exchange('default'), routing_key='default'),
    Queue('queue2_name', Exchange('default'), routing_key='general.routing_key'),
)

рджреВрд╕рд░реА рдХрддрд╛рд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред

рд╕реЗрд▓реЗрд░реА/рдХреЛрдореНрдмреВ/рдореБрджреНрджреЛрдВ/675 рдореЗрдВ @ChillarAnand рдХреА рдкреЛрд╕реНрдЯ рд╕реЗ рдЬреЛ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ 4.0.3 рддрдХ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛?

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рддрдм рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИред

8 рдордИ, 2017 рдХреЛ рд╢рд╛рдо 5:58 рдмрдЬреЗ, "рд╡рд┐рдХреНрдЯрд░" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВ @ChillarAnand . рд╕реЗ рдЬреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЙрд╕рд╕реЗ
https://github.com/ChillarAnand рдХреА рдкреЛрд╕реНрдЯ рд╕реЗрд▓реЗрд░реА/kombu#675 . рдореЗрдВ
https://github.com/celery/kombu/issues/675 , рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
4.0.3 рддрдХ, рд╣реИ рдирд╛?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/celery/celery/issues/3620#issuecomment-300002736 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AC3sA400hzoX7V0GUrUSfYmry9SZ8eIRks5r34_pgaJpZM4K7LEz
.

рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛!

рдореБрдЭреЗ рд░реИрдмрд┐рдЯрдПрдордХреНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕реЗрд▓реЗрд░реА 3.1.23 (рд╕рд┐рдкреЗрдЯрд░) рдкрд░ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред рд▓рдВрдмреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдпрд╣ рдзрд╛рдЧрд╛ рдорд┐рд▓ рдЧрдпрд╛ рдФрд░ 3.1.25 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреАрд╡рд╛рд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рд┐рд░ рдкреАрдЯ рд░рд╣рд╛ рдерд╛ред

рдПрдХрд╛рдзрд┐рдХ рдХрддрд╛рд░реЛрдВ + рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди рдХреЗ рд╕рд╛рде v4.0.2 (latentcall) рдкрд░ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ред

v0.4.0.2 рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ $#$1 v3.x #$ . рдореЗрдВ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рд╣реЛ рд░рд╣реА рд╣реИ

v4.0.2
рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдореБрджреНрджрд╛ рд╢реЛрд╕реНрдЯреЙрдкрд░ рд╣реИред рдореИрдВ 3.x рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд▓реНрдж рд╣реА рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

@ ba1dr рдорд╛рд╕реНрдЯрд░ рд╕реЗ рдирд┐рд░реНрдорд┐рддред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

@LPiner , рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд╣реИ рдирд╛?

@ ba1dr рдЯреАрдмреАрдПрдЪ рдХрд╛ рдЬреНрдпрд╛рджрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рдпрд╣ рдпрд╛ рддреЛ рдпрд╣ рд╣реИ рдпрд╛ 3.x рдкрд░ рд╡рд╛рдкрд╕ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░реЗрдВред
рд╣рдо рдЗрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рдорд╛рд░рд╛ рдкреИрдорд╛рдирд╛ рдПрдХ рджрд┐рди рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реМ рдХрд╛рдо рд╣реИ, рдЖрдкрдХрд╛ рдорд╛рдЗрд▓реЗрдЬ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдо рдЬрд▓реНрдж рд╣реА рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред #4109 . рджреЗрдЦреЗрдВ

рдпрд╣рд╛рдВ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдмрд╕ рд╣рдореЗрдВ рдорд╛рд░рд╛ред рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░!

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

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

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

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

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

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

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