Идеально ли использовать оператор try для обработки сброса соединения из-за ошибки пира в моем рабочем процессе python на Heroku - PullRequest
0 голосов
/ 07 января 2019

Я сделал веб-приложение на Python и успешно развернул его на heroku, и он в какой-то степени хорошо работает. Проблема начинается, когда время от времени рабочий процесс сбрасывает время от времени сбой соединения из-за ошибки однорангового узла, для чего мне нужно войти и выполнить повторное развертывание только для того, чтобы это повторилось. Этот процесс влияет на все веб-приложение, поскольку эти небольшие сбои приводят к сбоям в работе всей программы и приводят к появлению противоречивой, если не ошибочной информации, поэтому я пытаюсь проверить, будет ли работать оператор обработки исключений в следующем формате:

def conti():
    opens the connection to the site
    performs the operations needed
    closes the connection

try:
    conti()
except:
    conti()

Как сделать оператор try своего рода рекурсивным, чтобы при возникновении ошибки она продолжалась. Нужно ли поместить оператор try в рекурсивную функцию для обработки ошибки. Спасибо.

1 Ответ

0 голосов
/ 07 января 2019

Моя рекомендация - рассмотреть пул соединений. Если вы используете Heroku и используете PostgreSQL, вы, вероятно, уже используете psycopg2 со встроенным пулом. См. psycopg2 и бесконечный скрипт на python

Это позволит избежать рекурсии или явного состояния соединения / обнаружения ошибок в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...