Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 16, 2019 11:05:36

GrabGold
Зарегистрирован: 2019-01-16
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите в устранении ошибки

Здравствуйте. Пишу веб приложение и столкнулся с проблемой. Выдает данный код ошибки
pika.exceptions.ConnectionClosed: Connection to 127.0.0.1:5672 failed: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение

Сама БД включена в логах видно, что подключение идет , однако установки соединения нет.

Прикреплённый файлы:
attachment Screenshot_2.png (34,8 KБ)

Офлайн

#2 Янв. 16, 2019 11:24:19

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите в устранении ошибки

очевидно же что “конечный компьютер отверг запрос на подключение”, почему так, можно гадать до бесконечности: неправильный код, логин-пароль, фаервол, антивирус , вирус, настройка автризации\прав пользователя на БД … вам все возможные причины перечислить?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Янв. 16, 2019 11:24:37)

Офлайн

#3 Янв. 16, 2019 13:13:22

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите в устранении ошибки

GrabGold
Сама БД включена в логах видно, что подключение идет , однако установки соединения нет.
Посмотри через Wireshark процесс подключения. Проверь, можно ли telnet'ом подключиться на этот адрес:порт.



Офлайн

#4 Янв. 16, 2019 13:34:25

GrabGold
Зарегистрирован: 2019-01-16
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите в устранении ошибки

Есть такой скрипт, и в данной строчке

self.connection = pika.BlockingConnection(pika.ConnectionParameters(host))
он и выдает данную ошибку. Использую Mongodb, однако что со включенной, что с выключенной бд он выдает одно о то же.
 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)

Офлайн

#5 Янв. 16, 2019 14:18:58

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Помогите в устранении ошибки

GrabGold
Вы не можете подключиться не к монге, а к вашему RabbitMQ (как я предположу). Ищете проблему в этом месте



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#6 Янв. 16, 2019 14:26:14

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите в устранении ошибки

GrabGold
Есть такой скрипт, и в данной строчке
- может там нужно логин-пароль указать, может локаль другую, может ssl нужно в(ы)ключить, может еще что, смотри в настройки кролика. - потому как там много дефолтных параметров. https://pika.readthedocs.io/en/stable/_modules/pika/connection.html#ConnectionParameters
- проверь доступность потра банальным телнетом как советовал py.user.next смотри логи кролика
там должно быть написано почему оно разорвало конект, если нету, может нужно выставить более детальное логирование.
GrabGold
Использую Mongodb
монго там ни при чем, она только для хранения используеться, нужно чтобы RabbitMQ был запущен.




==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Янв. 16, 2019 14:27:34)

Офлайн

#7 Янв. 16, 2019 15:29:21

GrabGold
Зарегистрирован: 2019-01-16
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите в устранении ошибки

Спасибо, проблема была в RabbitMQ

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version