Приложение Heroku PR не может подключиться к GrapheneDB

Я только что создал новое PR-приложение в Heroku с надстройкой GrapheneDB.

Я вижу в своих журналах следующее:

2018-05-18T20:11:52.702973+00:00 app[web.1]: neo4j.exceptions.ProtocolError: Connection to ('ip', 24786) closed without handshake response
2018-05-18T20:11:52.704465+00:00 app[web.1]: 2018-05-18 20:11:52,704 INFO     ~~ [CONNECT] ('ip', 24786)
2018-05-18T20:11:52.705999+00:00 app[web.1]: 2018-05-18 20:11:52,705 INFO     C: [HANDSHAKE] 0x6060B017 [1, 0, 0, 0]
2018-05-18T20:11:52.707922+00:00 app[web.1]: 2018-05-18 20:11:52,707 ERROR    S: [CLOSE]
2018-05-18T20:11:52.710745+00:00 app[web.1]: 2018-05-18 20:11:52,708 ERROR    Connection to ('ip', 24786) closed without handshake response

Пока у меня есть:

  • Подключен к браузеру
  • nslookup с консоли показывает тот же IP-адрес, что и журналы (я не могу пинговать с экземпляра heroku)
  • Ротация учетных данных базы данных с панели управления GrapheneDB
  • Убрал аддон и заново добавил его

Я что-то упускаю?

Env:

  • Python 3.6.5
  • neo4j-драйвер 1.5.3

Код драйвера Python:

from django.conf import settings
from django.utils.functional import SimpleLazyObject

from neo4j.v1 import GraphDatabase, basic_auth, TRUST_ON_FIRST_USE


def get_driver():
    return GraphDatabase.driver(
        settings.NEO4J_BOLT_URL,
        auth=basic_auth(settings.NEO4J_USERNAME, settings.NEO4J_PASSWORD),
        encrypted=False,
        trust=TRUST_ON_FIRST_USE,
    )


driver = SimpleLazyObject(get_driver)

person Chad    schedule 18.05.2018    source источник
comment
можете ли вы показать соответствующий код Python, который создает соединение   -  person Christophe Willemsen    schedule 19.05.2018
comment
@ChristopheWillemsen добавил. Этот код на 100% работает в средах, не относящихся к героку, последние 3 года.   -  person Chad    schedule 19.05.2018
comment
Я считаю, что настройки из django не принимают переменные среды с подключением к базе данных. Помогает ли эта запись? devcenter.heroku.com/articles/django-app-configuration   -  person Christophe Willemsen    schedule 19.05.2018
comment
@ChristopheWillemsen: Я знаю, что он правильно считывает настройки ENV, потому что журналы показывают IP-адрес, который автоматически устанавливается через надстройку GrapheneDB   -  person Chad    schedule 20.05.2018


Ответы (1)


Просто чтобы следить. Оказывается, TRUST_ON_FIRST_USE не работает с GrapheneDB. TRUST_ON_FIRST_USE также устарел.

Его удаление позволило подключению к Neo4j работать.

person Chad    schedule 25.05.2018