Настройте параметры поддержки активности DB2 для приложения Python Cloud Foundry в IBM Cloud

У меня есть работающее приложение Python Cloud Foundry в Bluemix / IBM Cloud, которое подключается и в остальном хорошо работает с экземпляром DB2 on Cloud в Bluemix / IBM Cloud.

Однако после длительных интервалов (я не смог измерить время) соединение с DB2 закрывается, и мои запросы не выполняются. Я мог бы изменить свой код, чтобы проверить это, но было бы здорово иметь возможность настроить параметры поддержки активности TCP. Что-то вроде этого.

Буду очень признателен за любые указатели. Я не уверен, как можно настроить параметры на стороне клиента в приложении Python Cloud Foundry.

Приветствия.

2 ответа

Решение

Я попытался воспроизвести это с помощью приложения Python Flask Cloud Foundry и экземпляра плана Db2 on Cloud Lite. Мои связи, кажется, остаются в живых часами. Это может быть приложение Python, которое вы запускаете, которое имеет какое-то время ожидания.

Я не мог найти удовлетворительное решение. Как упомянуто @jackic23, могут быть и другие факторы. Несколько вещей:

  • Проблема трудно повторить
  • Приложение отлично работает на локальном хосте, но не при развертывании
  • У меня есть другие одновременные операции CRUD, которые могут как-то конфликтовать. Может быть состояние гонки, которое так или иначе никогда не происходит на локальном хосте.
  • Мое приложение для колб развернуто с помощью gunicorn, который убивал рабочий поток через 30 секунд, поэтому соединение с БД прервалось в середине запроса. Я установил таймаут на 75 секунд, но затем запрос начал возвращаться менее чем за 1 с.

На данный момент я перешел на план Enterprise DB2, и приложение работает нормально. С точки зрения @jackic23, здесь все еще может происходить что-то еще (в коде моего приложения), которое в конечном итоге, возможно, потребуется выяснить.

Сейчас я иду дальше. Спасибо @jackic23 за то, что заглянули в это!

Другие вопросы по тегам