'connection refused' with Celery
Question: I have a Django project on an Ubuntu EC2 node, which I have been using to set
up an asynchronous using `Celery`.

I am following [How to list of the queued items in
celery?](http://stackoverflow.com/questions/29319889/how-to-list-of-the-
queued-items-in-celery) along with the docs, to experiment with celery at the
command line.

I've been able to get a basic task working at the command line, using:

    
    
    (env1)ubuntu@ip-172-31-22-65:~/projects/tp$ celery --app=myproject.celery:app worker --loglevel=INFO
    

However, if I run other celery commands like below I'm getting the following:

    
    
    (env1)ubuntu@ip-172-31-22-65:~/projects/tp$ celery inspect ping
    Traceback (most recent call last):
      File "/home/ubuntu/.virtualenvs/env1/bin/celery", line 11, in <module>
        sys.exit(main())
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/__main__.py", line 30, in main
        main()
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/celery.py", line 81, in main
        cmd.execute_from_commandline(argv)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/celery.py", line 769, in execute_from_commandline
        super(CeleryCommand, self).execute_from_commandline(argv)))
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/base.py", line 307, in execute_from_commandline
        return self.handle_argv(self.prog_name, argv[1:])
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/celery.py", line 761, in handle_argv
        return self.execute(command, argv)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/celery.py", line 693, in execute
        ).run_from_argv(self.prog_name, argv[1:], command=argv[0])
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/base.py", line 311, in run_from_argv
        sys.argv if argv is None else argv, command)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/base.py", line 373, in handle_argv
        return self(*args, **options)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/base.py", line 270, in __call__
        ret = self.run(*args, **kwargs)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/celery.py", line 324, in run
        return self.do_call_method(args, **kwargs)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/celery.py", line 346, in do_call_method
        callback=self.say_remote_command_reply)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/bin/celery.py", line 385, in call
        return getattr(i, method)(*args)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/app/control.py", line 100, in ping
        return self._request('ping')
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/app/control.py", line 71, in _request
        timeout=self.timeout, reply=True,
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/celery/app/control.py", line 307, in broadcast
        limit, callback, channel=channel,
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/kombu/pidbox.py", line 283, in _broadcast
        chan = channel or self.connection.default_channel
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/kombu/connection.py", line 756, in default_channel
        self.connection
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/kombu/connection.py", line 741, in connection
        self._connection = self._establish_connection()
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/kombu/connection.py", line 696, in _establish_connection
        conn = self.transport.establish_connection()
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/kombu/transport/pyamqp.py", line 112, in establish_connection
        conn = self.Connection(**opts)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/amqp/connection.py", line 165, in __init__
        self.transport = self.Transport(host, connect_timeout, ssl)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/amqp/connection.py", line 186, in Transport
        return create_transport(host, connect_timeout, ssl)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/amqp/transport.py", line 299, in create_transport
        return TCPTransport(host, connect_timeout)
      File "/home/ubuntu/.virtualenvs/env1/lib/python3.4/site-packages/amqp/transport.py", line 95, in __init__
        raise socket.error(last_err)
    OSError: [Errno 111] Connection refused
    

The installed python packages:

    
    
    (env1)ubuntu@ip-172-31-22-65:~/projects/tp$ pip freeze
    amqp==1.4.6
    anyjson==0.3.3
    billiard==3.3.0.19
    celery==3.1.17
    Django==1.7.7
    django-redis-cache==0.13.0
    kombu==3.0.24
    pytz==2015.2
    redis==2.10.3
    requests==2.6.0
    uWSGI==2.0.10
    

/projects/tp/tp/celery.py

    
    
    from __future__ import absolute_import
    
    import os
    import django
    from celery import Celery
    from django.conf import settings
    
    # set the default Django settings module for the 'celery' program.
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tp.settings')
    django.setup()
    
    app = Celery('hello_django')
    
    # Using a string here means the worker will not have to
    # pickle the object when using Windows.
    app.config_from_object('django.conf:settings')
    app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
    

also , in redis.conf:

    
    
    # Specify the path for the unix socket that will be used to listen for
    # incoming connections. There is no default, so Redis will not listen
    # on a unix socket when not specified.
    #
      unixsocket /var/run/redis/redis.sock
      unixsocketperm 777
    

tp.settings.py:

    
    
    # CELERY SETTINGS
    BROKER_URL = 'redis://localhost:6379/0'
    CELERY_ACCEPT_CONTENT = ['json']
    CELERY_TASK_SERIALIZER = 'json'
    CELERY_RESULT_SERIALIZER = 'json'
    
    CACHES = {
        'default': {
            'BACKEND': 'redis_cache.RedisCache',
            'LOCATION': '/var/run/redis/redis.sock',
        },
    }
    

edit 2:

    
    
    ubuntu@ip-172-31-22-65:~$ redis-cli ping
    PONG
    ubuntu@ip-172-31-22-65:~$ service redis-server status
    redis-server is not running
    

edit 3:

    
    
    (env1)ubuntu@ip-172-31-22-65:~/projects/tp$ redis-cli ping
    PONG
    (env1)ubuntu@ip-172-31-22-65:~/projects/tp$ sudo service redis-server start
    Starting redis-server: failed
    (env1)ubuntu@ip-172-31-22-65:~/projects/tp$ service redis-server status
    redis-server is not running
    

What am I doing wrong?


Answer: I think you are using `rabbitmq` as queue.So check

    
    
    sudo service rabbitmq-server status
    

if stop,

    
    
    sudo service rabbitmq-server start
    

