python - 在Heroku上的python worker进程中使用try语句来处理由于对等错误而导致的连接重置是否理想?

标签 python recursion heroku error-handling

我制作了一个python网络应用,并将其成功部署到了heroku上,并且在一定程度上运行良好。
当 worker 进程偶尔因对等错误而引发连接重置时,问题就开始出现,为此我不得不进入并再次重新部署,以使其再次发生。
此过程会影响整个Web应用程序,因为这些小故障会导致整个程序出现故障,并产生不一致的信息(如果不是错误的话),因此,我正在尝试验证以下格式的异常处理语句是否可行:

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

try:
    conti()
except:
    conti()

我如何才能使try语句具有递归性,以便无论何时发生错误,它仍将继续。
我是否需要将try语句放入递归函数中以处理错误。
谢谢。

最佳答案

我的建议是考虑连接池。如果您在Heroku上并且使用PostgreSQL,则可能已经在使用psycopg2了,它内置了一个池。请参见psycopg2 and infinite python script

这将避免在代码中进行递归或显式的连接状态/错误检测。

关于python - 在Heroku上的python worker进程中使用try语句来处理由于对等错误而导致的连接重置是否理想?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54071652/

相关文章:

python - 匹配并追加到列表中

c++ - Makefile子目录递归

ruby-on-rails - 自定义字体在 heroku 中不起作用

python - Django:在哪里放置全局模型?

python - 了解 `scipy.spatial.Voronoi` 在 3D 中返回的脊顶点

python - 如何使用 Boto3 凭据发出 AWS AWIS UrlInfo api 请求

java - 递归搜索二叉树以查找字符串值

javascript - 递归循环一个 promise ?

python - Heroku 上的项目中带有 Python 模块的 Node 应用程序未安装

routes - Heroku cedar、Rails 3.1rc6、子域路由