Issue 1:
Hi,

I am using celery as backend asynchronous task processing, I am facing issue as celery workers stops picking tasks after few minutes ~5-10 min.

I tried scalling up workers, routing tasks to queues etc but nothing helps me out. below is my settings.

BROKER_URL = 'amqp://****@fast-polar-bear.rmq.cloudamqp.com/***'
CELERY_DEFAULT_QUEUE = 'proj.env.defaultnew'
CELERY_QUEUES = (
Queue(
'proj.env.defaultnew',
Exchange('proj.env.defaultnew'),
routing_key='proj.env.defaultnew'),)
CELERY_DEFAULT_EXCHANGE_TYPE = 'direct'
CELERY_ROUTES = {
# High priority tasks maping
'datasync.tasks.api_push_ship_status': {
'queue': 'proj.env.priority_queue',
},
'datasync.tasks.api_push_pack_status': {
'queue': 'proj.env.priority_queue',
},
'gmflow.tasks.post_activity_call': {
'queue': 'proj.env.priority_queue',
},
'ims.tasks.create_item_history': {
'queue': 'proj.env.priority_queue',
},
'remarks.tasks.insert_remaks_task': {
'queue': 'proj.env.priority_queue',
},
'ims.tasks.sync_items_task': {
'queue': 'proj.env.priority_queue',
},
'datasync.tasks.file_datasync_task': {
'queue': 'proj.env.priority_queue',
},
# Low priority tasks maping
'wms.tasks.queue_report': {
'queue': 'proj.env.low_priority',
},
'oms.tasks.update_order_status_task': {
'queue': 'proj.env.low_priority',
},
'datasync.tasks.datasync_task': {
'queue': 'proj.env.low_priority',
},
}

Number of workers per queue

proj.env.low_priority - 10 workers - time consuming tasks with low frequency

proj.env.default - 10 workers - normal tasks normal frequency

proj.env.priority_queue - 10 workers - very less time consuming high frequency

Consumer settings

--without-gossip
--without-heartbeat
--without-mingle
--loglevel=info

Celery versions

django1.8.1
celery==3.1.18
django-celery==3.1.10
amqp==1.4.7
kombu==3.0.26

Consumer Command

python manage.py celery worker -n priority_queue:%n -Q proj.env.priority_queue --settings=settings.prod --without-gossip --without-heartbeat --without-mingle --loglevel=info

please help and suggest the changes if required

Issue 2:
See test case here:

https://github.com/sabw8217/celery_test

If I enqueue a number of tasks, and then start a worker with --without-mingle and --without-gossip, the worker seems to hang and not actually run any of the tasks I enqueued. I'm running this on debian. On my dev box I have pretty consistently been able to cause the worker to "wake up" and start consuming tasks by issuing a 'celery inspect' command. 'celery inspect active' will return something like:

-> celery@aaron-dev.localdomain: OK

- empty -

And then worker the will go through the tasks.

Debug output from the worker looks like:

[2014-02-04 13:53:47,628: DEBUG/MainProcess] | Worker: Starting Hub

[2014-02-04 13:53:47,628: DEBUG/MainProcess] ^-- substep ok

[2014-02-04 13:53:47,628: DEBUG/MainProcess] | Worker: Starting Pool

[2014-02-04 13:53:47,633: DEBUG/MainProcess] ^-- substep ok

[2014-02-04 13:53:47,634: DEBUG/MainProcess] | Worker: Starting Consumer

[2014-02-04 13:53:47,635: DEBUG/MainProcess] | Consumer: Starting Connection

[2014-02-04 13:53:47,644: INFO/MainProcess] Connected to amqp://guest@localhost:5672//

[2014-02-04 13:53:47,645: DEBUG/MainProcess] ^-- substep ok

[2014-02-04 13:53:47,645: DEBUG/MainProcess] | Consumer: Starting Events

[2014-02-04 13:53:47,659: DEBUG/MainProcess] ^-- substep ok

[2014-02-04 13:53:47,661: DEBUG/MainProcess] | Consumer: Starting Heart

[2014-02-04 13:53:47,663: DEBUG/MainProcess] ^-- substep ok

[2014-02-04 13:53:47,663: DEBUG/MainProcess] | Consumer: Starting Tasks

[2014-02-04 13:53:47,666: DEBUG/MainProcess] basic.qos: prefetch_count->4

[2014-02-04 13:53:47,667: DEBUG/MainProcess] ^-- substep ok

[2014-02-04 13:53:47,667: DEBUG/MainProcess] | Consumer: Starting Control

[2014-02-04 13:53:47,669: DEBUG/MainProcess] ^-- substep ok

[2014-02-04 13:53:47,670: DEBUG/MainProcess] | Consumer: Starting event loop

[2014-02-04 13:53:47,670: WARNING/MainProcess] celery@aaron-dev.localdomain ready.

[2014-02-04 13:53:47,670: DEBUG/MainProcess] | Worker: Hub.register Pool...