Issue 1:
This happened after I introduced retry() to one of my tasks.

Full trace:

[2011-05-03 13:12:04,922: WARNING/MainProcess] File "/srv/geri/repository/geri/manage.py", line 11, in

[2011-05-03 13:12:04,923: WARNING/MainProcess] execute_manager(settings)

[2011-05-03 13:12:04,924: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/django/core/management/init.py", line 438, in execute_manager

[2011-05-03 13:12:04,924: WARNING/MainProcess] utility.execute()

[2011-05-03 13:12:04,924: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/django/core/management/init.py", line 379, in execute

[2011-05-03 13:12:04,924: WARNING/MainProcess] self.fetch_command(subcommand).run_from_argv(self.argv)

[2011-05-03 13:12:04,924: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv

[2011-05-03 13:12:04,925: WARNING/MainProcess] self.execute(_args, *_options.dict)

[2011-05-03 13:12:04,925: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/django/core/management/base.py", line 220, in execute

[2011-05-03 13:12:04,925: WARNING/MainProcess] output = self.handle(_args, *_options)

[2011-05-03 13:12:04,926: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/djcelery/management/commands/celeryd.py", line 21, in handle

[2011-05-03 13:12:04,926: WARNING/MainProcess] worker.run(_args, *_options)

[2011-05-03 13:12:04,926: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/celery/bin/celeryd.py", line 95, in run

[2011-05-03 13:12:04,926: WARNING/MainProcess] return self.app.Worker(**kwargs).run()

[2011-05-03 13:12:04,927: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/celery/apps/worker.py", line 135, in run

[2011-05-03 13:12:04,927: WARNING/MainProcess] self.run_worker()

[2011-05-03 13:12:04,927: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/celery/apps/worker.py", line 235, in run_worker

[2011-05-03 13:12:04,928: WARNING/MainProcess] worker.start()

[2011-05-03 13:12:04,928: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/celery/worker/init.py", line 247, in start

[2011-05-03 13:12:04,928: WARNING/MainProcess] blocking(component.start)

[2011-05-03 13:12:04,932: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/kombu/syn.py", line 14, in blocking

[2011-05-03 13:12:04,940: WARNING/MainProcess] return *sync_current(fun, _args, _kwargs)

[2011-05-03 13:12:04,941: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/kombu/syn.py", line 30, in __blocking

[2011-05-03 13:12:04,941: WARNING/MainProcess] return fun(_args, *_kwargs)

[2011-05-03 13:12:04,941: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/celery/worker/consumer.py", line 264, in start

[2011-05-03 13:12:04,942: WARNING/MainProcess] self.consume_messages()

[2011-05-03 13:12:04,942: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/celery/worker/consumer.py", line 281, in consume_messages

[2011-05-03 13:12:04,942: WARNING/MainProcess] self.connection.drain_events()

[2011-05-03 13:12:04,943: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/kombu/connection.py", line 139, in drain_events

[2011-05-03 13:12:04,943: WARNING/MainProcess] return self.transport.drain_events(self.connection, **kwargs)

[2011-05-03 13:12:04,943: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/kombu/transport/pyamqplib.py", line 223, in drain_events

[2011-05-03 13:12:04,943: WARNING/MainProcess] return connection.drain_events(**kwargs)

[2011-05-03 13:12:04,944: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/kombu/transport/pyamqplib.py", line 56, in drain_events

[2011-05-03 13:12:04,944: WARNING/MainProcess] return self.wait_multi(self.channels.values(), timeout=timeout)

[2011-05-03 13:12:04,944: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/kombu/transport/pyamqplib.py", line 83, in wait_multi

[2011-05-03 13:12:04,945: WARNING/MainProcess] return amqp_method(channel, args, content)

[2011-05-03 13:12:04,945: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/amqplib/client_0_8/channel.py", line 1973, in _basic_deliver

[2011-05-03 13:12:04,946: WARNING/MainProcess] func(msg)

[2011-05-03 13:12:04,946: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/kombu/messaging.py", line 408, in _receive_callback

[2011-05-03 13:12:04,946: WARNING/MainProcess] self.receive(decoded, message)

[2011-05-03 13:12:04,964: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/kombu/messaging.py", line 375, in receive

[2011-05-03 13:12:04,966: WARNING/MainProcess] callback(body, message)

[2011-05-03 13:12:04,966: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/celery/worker/consumer.py", line 353, in receive_message

[2011-05-03 13:12:04,966: WARNING/MainProcess] eventer=self.event_dispatcher)

[2011-05-03 13:12:04,967: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/celery/worker/job.py", line 294, in from_message

[2011-05-03 13:12:04,967: WARNING/MainProcess] eta=maybe_iso8601(body.get("eta")),

[2011-05-03 13:12:04,967: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/celery/utils/timeutils.py", line 133, in maybe_iso8601

[2011-05-03 13:12:04,967: WARNING/MainProcess] return parse_iso8601(dt)

[2011-05-03 13:12:04,968: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/dateutil/parser.py", line 698, in parse

[2011-05-03 13:12:04,968: WARNING/MainProcess] return DEFAULTPARSER.parse(timestr, *_kwargs)

[2011-05-03 13:12:04,969: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/dateutil/parser.py", line 302, in parse

[2011-05-03 13:12:04,969: WARNING/MainProcess] res = self._parse(timestr, *_kwargs)

[2011-05-03 13:12:04,969: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/dateutil/parser.py", line 350, in _parse

[2011-05-03 13:12:04,970: WARNING/MainProcess] l = _timelex.split(timestr)

[2011-05-03 13:12:04,970: WARNING/MainProcess] File "/srv/geri/env/lib/python2.6/site-packages/dateutil/parser.py", line 144, in split

[2011-05-03 13:12:04,971: WARNING/MainProcess] return list(cls(s))

[2011-05-03 13:12:04,971: WARNING/MainProcess] TypeError

[2011-05-03 13:12:04,971: WARNING/MainProcess] :

[2011-05-03 13:12:04,971: WARNING/MainProcess] iter() returned non-iterator of type '_timelex'

[2011-05-03 13:12:04,972: INFO/MainProcess] process shutting down

Issue 2:
This happens probably because task logger by default is initialized with name 'celery.task.default' and worker logger with name 'celery'. Thus task logger becomes the child of the worker logger.

Python logging system by default propagates messages from child logger to parent.

To change this behavior propagate property of Logger object should be set to False or may be it would be better to attach handler only to the worker's logger.