Heroku все еще обращается к старым заданиям в очереди и не использует обновленный код

#python #heroku #botocore

#python #heroku #botocore

Вопрос:

Я пытаюсь создать приложение python на Heroku. Я хочу загрузить файл Excel через botocore в корзину, размещенную на AWS, но я получаю следующую ошибку:

 2020-11-19T20:21:20.616363 00:00 app[web.1]: botocore.exceptions.NoCredentialsError: Unable to locate credentials
 

Я изменил код, включив учетные данные, очистил кеш, перезапустил динамо-машины, а затем снова запустил приложение. Теперь я получаю следующую ошибку (вместе с ошибкой учетных данных, описанной выше):

 2020-11-19T20:21:20.616193 00:00 app[web.1]: Started at: 2020-11-10 15:35:54.303420
2020-11-19T20:21:20.616295 00:00 app[web.1]: Ended at: 2020-11-10 15:35:57.484733
2020-11-19T20:21:20.616331 00:00 app[web.1]: Exception status: Traceback (most recent call last):
 

У меня было 2 вопроса здесь:

  1. Почему heroku не использует обновленный код?
  2. Почему он все еще обращается к старому заданию, даже когда я очистил кеш, перезапустил динамо-машины и т. Д.?

Любая помощь будет высоко оценена — Спасибо!

Комментарии:

1. Когда вы говорите, что обновили код, включив учетные данные, вы это сделали os.environ['MY_KEY'] ? Если да, добавили ли вы эту переменную среды внутри приложения heroku? Кроме того, настроено ли у вас автоматическое развертывание из репозитория github?

2. Спасибо за ответ на вопрос @VaduvaMihaitaBogdan! Да, я сделал и то, и другое. Чтобы ответить на ваш вопрос об автоматическом развертывании — да, у меня тоже есть такая настройка.

Ответ №1:

Итак, способ обойти эту проблему состоял в том, чтобы удалить аддон redistogo и повторно добавить его, используя следующие команды:

 heroku addons:remove redistogo --confirm <app-name>
heroku addons:add redistogo
 

Теперь Heroku читал правильный код. Мне приходилось делать это каждый раз, когда в моем коде была ошибка. Как только все ошибки в коде были устранены, в этом не было необходимости.