2017-10-21 5 views
0

Ich habe versucht, alle aktiven/geplant/reservierten Aufgaben in redis zu bekommen:Fehler 111 Verbindung abgelehnt (Python, Sellerie, redis)

from celery.task.control import inspect 
inspect_obj = inspect() 
inspect_obj.active() 
inspect_obj.scheduled() 
inspect_obj.reserved() 

aber wurde mit einer Liste der Fehler grüßte wie folgt: Meine virtuelle Umgebung ==> HubblerAPI. Iam dies von der EC2-Konsole

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/celery/app/control.py", line 81, in active 
return self._request('dump_active', safe=safe) 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/celery/app/control.py", line 71, in _request 
timeout=self.timeout, reply=True, 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/celery/app/control.py", line 316, in broadcast 
limit, callback, channel=channel, 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/kombu/pidbox.py", line 283, in _broadcast 
chan = channel or self.connection.default_channel 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/kombu/connection.py", line 771, in default_channel 
self.connection 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/kombu/connection.py", line 756, in connection 
self._connection = self._establish_connection() 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/kombu/connection.py", line 711, in _establish_connection 
conn = self.transport.establish_connection() 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/kombu/transport/pyamqp.py", line 116, in establish_connection 
conn = self.Connection(**opts) 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/amqp/connection.py", line 165, in __init__ 
self.transport = self.Transport(host, connect_timeout, ssl) 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/amqp/connection.py", line 186, in Transport 
return create_transport(host, connect_timeout, ssl) 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/amqp/transport.py", line 299, in create_transport 
return TCPTransport(host, connect_timeout) 
File "/home/ec2-user/HubblerAPI/local/lib/python3.4/site- 
packages/amqp/transport.py", line 95, in __init__ 
raise socket.error(last_err) 
**OSError: [Errno 111] Connection refused** 

Meine Sellerie-Konfigurationsdatei ist wie folgt:

BROKER_TRANSPORT = 'redis' 
BROKER_TRANSPORT_OPTIONS = { 
    'queue_name_prefix': 'dev-', 
    'wait_time_seconds': 10, 
    'polling_interval': 30, 
    # The polling interval decides the number of seconds to sleep 
     between unsuccessful polls 
    'visibility_timeout': 3600 * 5, 
    # If a task is not acknowledged within the visibility_timeout, the 
     task will be redelivered to another worker and executed. 
} 
CELERY_MESSAGES_DB = 6 
BROKER_URL = "redis://%s:%s/%s" % (AWS_REDIS_ENDPOINT, AWS_REDIS_PORT, 
       CELERY_MESSAGES_DB) 

Was ich hier falsch wie das Fehlerprotokoll tue schlägt vor, dass seine die redis Broker nicht verwendet wird.

Antwort

0

Es sieht so aus, als ob Ihr Python-Code Ihre Konfigurationen nicht erkennt, da er versucht, das ampq-Protokoll von RabbitMQ anstelle des konfigurierten Brokers zu verwenden.

Ich schlage vor, die folgenden

http://docs.celeryproject.org/en/latest/getting-started/brokers/redis.html

Ihre configs zu Django configs für Sellerie ähnlich aussehen noch scheint es nicht, Sie Sellerie mit Django verwenden.

http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html#using-celery-with-django

Verwandte Themen