Celery cannot find a worker
<p>I'm using celery with such configuration</p>

<pre><code>default_exchange = Exchange('default', type='direct')
latest_exchange = Exchange('latest', type='direct')

shared_celery_config = {
    'BROKER_URL': 'redis://localhost:6379/0',
    'CELERY_RESULT_BACKEND': 'redis://localhost:6379/0',
    'CELERY_DEFAULT_EXCHANGE': 'default',
    'CELERY_DEFAULT_ROUTING_KEY': 'default',
    'CELERY_DEFAULT_QUEUE': 'default',
    'CELERY_QUEUES': (
        Queue('default', default_exchange, routing_key='default'),
        Queue('latest', latest_exchange, routing_key='latest'),
    ),
}

celery = Celery('tasks', config_source=shared_celery_config)
</code></pre>

<p>But when I'm creating a task none of the worker is consuming it and nothing happens. I  start workers with:
<code>celery worker -A tasks --loglevel=debug --hostname=worker1</code>. I can see them from <code>ps aux | grep celery</code> output, but when executing some command to get statistics like <code>celery -A tasks status</code> I get following error message
<strong><code>Error: No nodes replied within time constraint.</code></strong>. Therefore all tasks are in <em>PENDING</em> status. I believe this is some misconfiguration, but can't figure out what's wrong and how to debug such a thing. Any advise would be very helpful</p>

<p>The issue was resolved. I have an web application which uses gevent and in <code>tasks</code> module I have import from another module that has <code>monkey.patch_all()</code>. Somehow it prevents billiard and therefore a worker to start pool and that leads to this consequences. 
Anyway, <strong>do not use gevent at all</strong>, imho.</p>

python python-2.7 celery python-2.x celeryd