Код ошибки H12 - «Запрос тайм-аута» при попытке запуска и операции SFTP с использованием pysftp на heroku - PullRequest
0 голосов
/ 30 апреля 2020

Я получаю эту ошибку

heroku[router]: at=error code=H12 desc="Request timeout" .....

при попытке запустить мое приложение на heroku.

Приложение просто подключается к SFTP для загрузки файла. Все работает очень хорошо, когда я запускаю приложение на localhost:5000 и оно запускается менее чем за 10 секунд, но когда я развертываюсь на heroku и запускаю его оттуда, я получаю эту ошибку.

Вот что я пробовал

  • Я понизил pysftp с 0.2.9 до 0.2.8 без использования hostkey, та же ошибка
  • Я использовал pysftp 0.2 .9, создал файл /app/app/.ssh/known_hosts, та же ошибка
  • Я пытался cnopts.hostkeys.load(filename), та же ошибка

это коды, которые работали на моем локальном хосте с pysftp 0.2.9

import pysftp
key_data = os.environ.get('KEY_DATA')
keydata = bytes(key_data, 'utf-8')
key = paramiko.RSAKey(data=decodebytes(keydata))
cnopts = pysftp.CnOpts()
cnopts.hostkeys.add('api.interswitchng.com', 'ssh-rsa', key)

sftp = pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, port=port, cnopts=cnopts)
import pysftp
cnopts = pysftp.CnOpts()

sftp = pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, port=port, cnopts=cnopts)
import pysftp
cnopts = pysftp.CnOpts()
cnopts.hostkeys.load(filename)

sftp = pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, port=port, cnopts=cnopts)

и с pysftp 0.2.8

import pysftp

sftp = pysftp.Connection(host=myHostname, username=myUsername, password=myPassword, port=port)

Все это работает на localhost, но дает heroku[router]: at=error code=H12 desc="Request timeout" на heroku

...