我制作了一个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/