-------------- celery@DESKTOP-7R24JEG v4.4.2 (cliffs)
--- ***** -----
-- ******* ---- Linux-4.4.0-18362-Microsoft-x86_64-with-debian-bullseye-sid 2020-05-20 15:17:23
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app: timburr:0x7f8c51059da0
- ** ---------- .> transport: amqp://xxx:**@xxx/timburr_dev
- ** ---------- .> results: disabled://
- *** --- * --- .> concurrency: 4 (gevent)
-- ******* ---- .> task events: ON
--- ***** -----
-------------- [queues]
.> timburr_medium exchange=timburr_medium(direct) key=timburr_medium
worker: Warm shutdown (MainProcess)
[2020-05-20 15:17:32,150: WARNING/MainProcess] Received method (60, 31) during closing channel 2. This method will be ignored
[2020-05-20 15:17:32,832: ERROR/MainProcess] Error on stopping Control: AttributeError("'NoneType' object has no attribute 'drain_events'",)
Traceback (most recent call last):
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/celery/worker/worker.py", line 205, in start
self.blueprint.start(self)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/celery/bootsteps.py", line 119, in start
step.start(parent)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/celery/bootsteps.py", line 369, in start
return self.obj.start()
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/celery/worker/consumer/consumer.py", line 318, in start
blueprint.start(self)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/celery/bootsteps.py", line 119, in start
step.start(parent)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/celery/worker/consumer/consumer.py", line 599, in start
c.loop(*c.loop_args())
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/celery/worker/loops.py", line 113, in synloop
connection.drain_events(timeout=2.0)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/kombu/connection.py", line 323, in drain_events
return self.transport.drain_events(self.connection, **kwargs)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/kombu/transport/pyamqp.py", line 103, in drain_events
return connection.drain_events(**kwargs)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/amqp/connection.py", line 505, in drain_events
while not self.blocking_read(timeout):
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/amqp/connection.py", line 510, in blocking_read
frame = self.transport.read_frame()
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/amqp/transport.py", line 252, in read_frame
frame_header = read(7, True)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/amqp/transport.py", line 438, in _read
s = recv(n - len(rbuf))
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/gevent/_socket3.py", line 382, in recv
self._wait(self._read_event)
File "src/gevent/_hub_primitives.py", line 284, in gevent.__hub_primitives.wait_on_socket
File "src/gevent/_hub_primitives.py", line 289, in gevent.__hub_primitives.wait_on_socket
File "src/gevent/_hub_primitives.py", line 280, in gevent.__hub_primitives._primitive_wait
File "src/gevent/_hub_primitives.py", line 281, in gevent.__hub_primitives._primitive_wait
File "src/gevent/_hub_primitives.py", line 46, in gevent.__hub_primitives.WaitOperationsGreenlet.wait
File "src/gevent/_hub_primitives.py", line 46, in gevent.__hub_primitives.WaitOperationsGreenlet.wait
File "src/gevent/_hub_primitives.py", line 55, in gevent.__hub_primitives.WaitOperationsGreenlet.wait
File "src/gevent/_waiter.py", line 151, in gevent.__waiter.Waiter.get
File "src/gevent/_greenlet_primitives.py", line 60, in gevent.__greenlet_primitives.SwitchOutGreenletWithLoop.switch
File "src/gevent/_greenlet_primitives.py", line 60, in gevent.__greenlet_primitives.SwitchOutGreenletWithLoop.switch
File "src/gevent/_greenlet_primitives.py", line 64, in gevent.__greenlet_primitives.SwitchOutGreenletWithLoop.switch
File "src/gevent/__greenlet_primitives.pxd", line 35, in gevent.__greenlet_primitives._greenlet_switch
celery.exceptions.WorkerShutdown: 0
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/celery/bootsteps.py", line 151, in send_all
fun(parent, *args)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/celery/worker/pidbox.py", line 63, in stop
self.consumer = self._close_channel(c)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/celery/worker/pidbox.py", line 71, in _close_channel
ignore_errors(c, self.node.channel.close)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/kombu/common.py", line 323, in ignore_errors
return fun(*args, **kwargs)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/amqp/channel.py", line 224, in close
wait=spec.Channel.CloseOk,
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/amqp/abstract_channel.py", line 68, in send_method
return self.wait(wait, returns_tuple=returns_tuple)
File "/home/ercjul/.pyenv/versions/3.6.10/lib/python3.6/site-packages/amqp/abstract_channel.py", line 88, in wait
self.connection.drain_events(timeout=timeout)
AttributeError: 'NoneType' object has no attribute 'drain_events'
[2020-05-20 15:17:32,946: WARNING/MainProcess] Received method (60, 31) during closing channel 1. This method will be ignored
use gevnet, when SIGTERM shutdown will raise error
mini demo
celery worker -P gevent kill -15 xxxerror output
env
python: 3.6.10 & 3.7.7
celery: 4.4.2
amqp: 2.5.2
kombu: 4.6.8
gevent:1.4.0 & 20.5.0