Форум сайта python.su
0
Здравствуйте. Пишу веб приложение и столкнулся с проблемой. Выдает данный код ошибки
pika.exceptions.ConnectionClosed: Connection to 127.0.0.1:5672 failed: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение
Сама БД включена в логах видно, что подключение идет , однако установки соединения нет.
Прикреплённый файлы:
Screenshot_2.png (34,8 KБ)
Офлайн
294
очевидно же что “конечный компьютер отверг запрос на подключение”, почему так, можно гадать до бесконечности: неправильный код, логин-пароль, фаервол, антивирус , вирус, настройка автризации\прав пользователя на БД … вам все возможные причины перечислить?
[code python][/code]
Отредактировано PEHDOM (Янв. 16, 2019 11:24:37)
Офлайн
857
GrabGoldПосмотри через Wireshark процесс подключения. Проверь, можно ли telnet'ом подключиться на этот адрес:порт.
Сама БД включена в логах видно, что подключение идет , однако установки соединения нет.
Офлайн
0
Есть такой скрипт, и в данной строчке
self.connection = pika.BlockingConnection(pika.ConnectionParameters(host))
import pika import logging import time class MessageQueue: EXCHANGE_NAME = "rra-direct" def __init__(self, queue_names = None, host="localhost", delay=5.0): self.delay = delay self.logger = logging.getLogger(self.__class__.__name__) self.connection = pika.BlockingConnection(pika.ConnectionParameters(host)) self.queues = {} self.channel = self.connection.channel() self.channel.exchange_declare(exchange=self.EXCHANGE_NAME, exchange_type="direct") if queue_names is not None: for queue_name in queue_names: self.add_queue(queue_name) def send_message(self, message, routing_key): self.channel.basic_publish(exchange=self.EXCHANGE_NAME, routing_key=routing_key, body=message) self.logger.debug("Message : %s sent" % message) def receive_message(self, queue_name): method_frame, header_frame, body = self.channel.basic_get(queue=queue_name) while method_frame is None or method_frame.NAME == 'Basic.GetEmpty': method_frame, header_frame, body = self.channel.basic_get(queue=queue_name) time.sleep(self.delay) self.channel.basic_ack(delivery_tag=method_frame.delivery_tag) return body def bind(self, queue_name, routing_key): if queue_name in self.queues.keys(): self.channel.queue_bind(exchange=self.EXCHANGE_NAME, queue=queue_name, routing_key=routing_key) else: self.logger.error("Queue %s not found" % queue_name) def add_queue(self, queue_name): if queue_name not in self.queues.keys(): self.queues[queue_name] = self.channel.queue_declare(queue=queue_name) else: self.logger.error("Queue %s already exists" % queue_name)
Офлайн
221
GrabGold
Вы не можете подключиться не к монге, а к вашему RabbitMQ (как я предположу). Ищете проблему в этом месте
Офлайн
294
GrabGold- может там нужно логин-пароль указать, может локаль другую, может ssl нужно в(ы)ключить, может еще что, смотри в настройки кролика. - потому как там много дефолтных параметров. https://pika.readthedocs.io/en/stable/_modules/pika/connection.html#ConnectionParameters
Есть такой скрипт, и в данной строчке
GrabGoldмонго там ни при чем, она только для хранения используеться, нужно чтобы RabbitMQ был запущен.
Использую Mongodb
[code python][/code]
Отредактировано PEHDOM (Янв. 16, 2019 14:27:34)
Офлайн
0
Спасибо, проблема была в RabbitMQ 
Офлайн