Hi,
I was able to duplicate this again and I sent a USR1 signal to the
main process; the output is below. You will notice from the log that I
fired up celeryd on March 2nd and successfully sent a task that
returned a result. I then waited until today to try again with the
identical task and it did not respond and nothing was logged.
Immediately below the last March 2nd entry is the dump from the USR1
signal I sent to it today. After sending the signal to the main
process, it reconnected to the broker and tasks are working again.
[2011-03-02 22:36:22,893: DEBUG/PoolWorker-3] Start from server,
version: 8.0, properties: {u'information': 'Licensed under the MPL.
See
http://www.rabbitmq.com/', u'product': 'RabbitMQ', u'version':
'2.3.1', u'copyright': 'Copyright (C) 2007-2011 VMware, Inc.',
u'platform': 'Erlang/OTP'}, mechanisms: ['PLAIN', 'AMQPLAIN'],
locales: ['en_US']
[2011-03-02 22:36:23,207: DEBUG/PoolWorker-3] Open OK! known_hosts []
[2011-03-02 22:36:23,207: DEBUG/PoolWorker-3] using channel_id: 1
[2011-03-02 22:36:23,299: DEBUG/PoolWorker-3] Channel open
[2011-03-02 22:36:23,668: INFO/MainProcess] Task
test_task[5131ec95-4b0b-4387-8725-dd31bd6cc8c2] succeeded in
1.40606212616s: {'fields': [{'type': 'TestField',…
[2011-03-13 19:22:10,697: ERROR/MainProcess]
Heart
=================================================
File "/usr/bin/celeryd", line 8, in <module>
load_entry_point('celery==2.2.4', 'console_scripts', 'celeryd')()
File "/home/mark/rla/celery/celery/bin/celeryd.py", line 186, in
main
worker.execute_from_commandline()
File "/home/mark/rla/celery/celery/bin/base.py", line 54, in
execute_from_commandline
return self.handle_argv(prog_name, argv[1:])
File "/home/mark/rla/celery/celery/bin/base.py", line 44, in
handle_argv
return self.run(*args, **vars(options))
File "/home/mark/rla/celery/celery/bin/celeryd.py", line 95, in run
return self.app.Worker(**kwargs).run()
File "/home/mark/rla/celery/celery/apps/worker.py", line 135, in run
self.run_worker()
File "/home/mark/rla/celery/celery/apps/worker.py", line 235, in
run_worker
worker.start()
File "/home/mark/rla/celery/celery/worker/__init__.py", line 247, in
start
blocking(component.start)
File "/usr/lib/python2.5/site-packages/kombu/syn.py", line 14, in
blocking
return __sync_current(fun, *args, **kwargs)
File "/usr/lib/python2.5/site-packages/kombu/syn.py", line 30, in
__blocking__
return fun(*args, **kwargs)
File "/home/mark/rla/celery/celery/worker/consumer.py", line 264, in
start
self.consume_messages()
File "/home/mark/rla/celery/celery/worker/consumer.py", line 281, in
consume_messages
self.connection.drain_events()
File "/usr/lib/python2.5/site-packages/kombu/connection.py", line
110, in drain_events
return self.transport.drain_events(self.connection, **kwargs)
File "/usr/lib/python2.5/site-packages/kombu/transport/
pyamqplib.py", line 200, in drain_events
return connection.drain_events(**kwargs)
File "/usr/lib/python2.5/site-packages/kombu/transport/
pyamqplib.py", line 50, in drain_events
return self.wait_multi(self.channels.values(), timeout=timeout)
File "/usr/lib/python2.5/site-packages/kombu/transport/
pyamqplib.py", line 56, in wait_multi
chanmap.keys(), allowed_methods, timeout=timeout)
File "/usr/lib/python2.5/site-packages/kombu/transport/
pyamqplib.py", line 104, in _wait_multiple
channel, method_sig, args, content = self.read_timeout(timeout)
File "/usr/lib/python2.5/site-packages/kombu/transport/
pyamqplib.py", line 81, in read_timeout
return self.method_reader.read_method()
File "/usr/lib/python2.5/site-packages/amqplib/client_0_8/
method_framing.py", line 212, in read_method
self._next_method()
File "/usr/lib/python2.5/site-packages/amqplib/client_0_8/
method_framing.py", line 127, in _next_method
frame_type, channel, payload = self.source.read_frame()
File "/usr/lib/python2.5/site-packages/amqplib/client_0_8/
transport.py", line 109, in read_frame
frame_type, channel, size = unpack('>BHI', self._read(7))
File "/usr/lib/python2.5/site-packages/amqplib/client_0_8/
transport.py", line 155, in _read
result = self.sslobj.read(n)
File "/home/mark/rla/celery/celery/apps/worker.py", line 343, in
cry_handler
logger.error("\n" + cry())
File "/home/mark/rla/celery/celery/utils/__init__.py", line 404, in
cry
traceback.print_stack(frame, file=out)
=================================================
LOCAL VARIABLES
=================================================
{'frame': <frame object at 0x2a91380>,
'main_thread': <Heart(Heart, started daemon)>,
'out': <cStringIO.StringO object at 0x2a1aa40>,
't': <Heart(Heart, started daemon)>,
'thread': <Heart(Heart, started daemon)>,
'tid': 140204646479584,
'tmap': {}}
Heart
=================================================
File "/usr/lib/python2.5/threading.py", line 462, in __bootstrap
self.__bootstrap_inner()
File "/usr/lib/python2.5/threading.py", line 486, in
__bootstrap_inner
self.run()
File "/home/mark/rla/celery/celery/utils/timer2.py", line 179, in
run
delay = self.next()
File "/home/mark/rla/celery/celery/utils/timer2.py", line 168, in
next
self.not_empty.wait(1.0)
File "/usr/lib/python2.5/threading.py", line 235, in wait
_sleep(delay)
=================================================
LOCAL VARIABLES
=================================================
{'delay': 0.050000000000000003,
'endtime': 1300069330.8644979,
'gotit': False,
'remaining': 0.23581600189208984,
'saved_state': None,
'self': <Condition(<thread.lock object at 0x7f83f01f7420>, 1)>,
'timeout': 1.0,
'waiter': <thread.lock object at 0x7f83f01f74c8>}
Heart
=================================================
File "/usr/lib/python2.5/threading.py", line 462, in __bootstrap
self.__bootstrap_inner()
File "/usr/lib/python2.5/threading.py", line 486, in
__bootstrap_inner
self.run()
File "/home/mark/rla/celery/celery/concurrency/processes/pool.py",
line 169, in run
time.sleep(0.1)
=================================================
LOCAL VARIABLES
=================================================
{'self': <Supervisor(Thread-4, started daemon)>}
Heart
=================================================
File "/usr/lib/python2.5/threading.py", line 462, in __bootstrap
self.__bootstrap_inner()
File "/usr/lib/python2.5/threading.py", line 486, in
__bootstrap_inner
self.run()
File "/home/mark/rla/celery/celery/concurrency/processes/pool.py",
line 188, in run
for taskseq, set_length in iter(taskqueue.get, None):
File "/usr/lib/python2.5/Queue.py", line 165, in get
self.not_empty.wait()
File "/usr/lib/python2.5/threading.py", line 216, in wait
waiter.acquire()
=================================================
LOCAL VARIABLES
=================================================
{'saved_state': None,
'self': <Condition(<thread.lock object at 0x7f83f01f7450>, 1)>,
'timeout': None,
'waiter': <thread.lock object at 0x7f83f01f7648>}
Heart
=================================================
File "/usr/lib/python2.5/threading.py", line 462, in __bootstrap
self.__bootstrap_inner()
File "/usr/lib/python2.5/threading.py", line 486, in
__bootstrap_inner
self.run()
File "/home/mark/rla/celery/celery/concurrency/processes/pool.py",
line 368, in run
ready, task = poll(0.2)
File "/home/mark/rla/celery/celery/concurrency/processes/pool.py",
line 606, in _poll_result
return False, None
=================================================
LOCAL VARIABLES
=================================================
{'self': <celery.concurrency.processes.pool.Pool object at 0x29ae4d0>,
'timeout': 0.20000000000000001}
Heart
=================================================
File "/usr/lib/python2.5/threading.py", line 462, in __bootstrap
self.__bootstrap_inner()
File "/usr/lib/python2.5/threading.py", line 486, in
__bootstrap_inner
self.run()
File "/home/mark/rla/celery/celery/worker/controllers.py", line 64,
in run
self.move()
File "/home/mark/rla/celery/celery/worker/controllers.py", line 39,
in move
task = self.ready_queue.get(timeout=1.0)
File "/home/mark/rla/celery/celery/worker/buckets.py", line 124, in
get
self.not_empty.wait(timeout)
File "/usr/lib/python2.5/threading.py", line 235, in wait
_sleep(delay)
=================================================
LOCAL VARIABLES
=================================================
{'delay': 0.050000000000000003,
'endtime': 1300069330.8484631,
'gotit': False,
'remaining': 0.18570709228515625,
'saved_state': None,
'self': <Condition(<thread.lock object at 0x7f83f01f7300>, 1)>,
'timeout': 1.0,
'waiter': <thread.lock object at 0x7f83f01f74e0>}
Heart
=================================================
File "/usr/lib/python2.5/threading.py", line 462, in __bootstrap
self.__bootstrap_inner()
File "/usr/lib/python2.5/threading.py", line 486, in
__bootstrap_inner
self.run()
File "/home/mark/rla/celery/celery/worker/heartbeat.py", line 54, in
run
sleep(1)
=================================================
LOCAL VARIABLES
=================================================
{'bpm': 0.5,
'dispatch': <bound method EventDispatcher.send of
<celery.events.EventDispatcher object at 0x2a0cbd0>>,
'last_beat': 1300069297.56338,
'now': 1300069330.5961239,
'self': <Heart(Heart, started daemon)>}
[2011-03-13 19:22:10,699: ERROR/MainProcess] Consumer: Connection to
broker lost. Trying to re-establish connection...
[2011-03-13 19:22:10,699: DEBUG/MainProcess] Consumer: Re-establishing
connection to the broker...
[2011-03-13 19:22:10,699: DEBUG/MainProcess] Heart: Going into cardiac
arrest...
[2011-03-13 19:22:11,614: DEBUG/MainProcess] TaskConsumer: Cancelling
consumers...
[2011-03-13 19:22:11,704: DEBUG/MainProcess] EventDispatcher: Shutting
down...
[2011-03-13 19:22:11,704: DEBUG/MainProcess] BroadcastConsumer:
Cancelling consumer...
[2011-03-13 19:22:11,705: DEBUG/MainProcess] Consumer: Closing
consumer channel...
[2011-03-13 19:22:11,705: DEBUG/MainProcess] Consumer: Closing
connection to broker...
[2011-03-13 19:22:11,705: DEBUG/MainProcess] CarrotListener: Closing
broadcast channel...
[2011-03-13 19:22:12,230: DEBUG/MainProcess] Start from server,
version: 8.0, properties: {u'information': 'Licensed under the MPL.
See
http://www.rabbitmq.com/', u'product': 'RabbitMQ', u'version':
'2.3.1', u'copyright': 'Copyright (C) 2007-2011 VMware, Inc.',
u'platform': 'Erlang/OTP'}, mechanisms: ['PLAIN', 'AMQPLAIN'],
locales: ['en_US']
[2011-03-13 19:22:12,538: DEBUG/MainProcess] Open OK! known_hosts []
[2011-03-13 19:22:12,538: DEBUG/MainProcess] Consumer: Connection
Established.
[2011-03-13 19:22:12,538: DEBUG/MainProcess] using channel_id: 1
[2011-03-13 19:22:12,628: DEBUG/MainProcess] Channel open
[2011-03-13 19:22:12,898: DEBUG/MainProcess] basic.qos: prefetch_count-
>32
[2011-03-13 19:22:12,988: DEBUG/MainProcess] using channel_id: 2
[2011-03-13 19:22:13,078: DEBUG/MainProcess] Channel open
[2011-03-13 19:22:13,460: DEBUG/MainProcess] Consumer: Starting
message consumer...
[2011-03-13 19:22:13,550: DEBUG/MainProcess] Consumer: Ready to accept
tasks!