这是我一直问自己一段时间的问题。我有几种不同的Python脚本可以自己执行操作,不需要任何注意。他们将数据写入数据库,并且在大多数情况下,数据运行的很好。
不幸的是,有时它们没有,而且我从数据库中得到了一个相当意外的错误,例如:
MISCONF Redis配置为保存RDB快照,但当前无法持久保存在磁盘上。禁用了可能修改数据集的命令。请检查Redis日志以获取有关该错误的详细信息。
问题是此错误不是“永久”的。在数据库发生之前,我可以使用数百次-如果它曾经发生过-当它发生时,我重新启动脚本,脚本再次运行良好。
现在我的问题是:我该如何处理?将每个Redis呼叫都包装在try / except
块中,当遇到错误时,重置连接并重试?我的意思是,这可能是一个可行的解决方案,但是由于两个原因,我感到不满意:
except Exception as e
子句(它太宽泛了,可能会阻碍实际问题),所以我必须遇到所有可能的错误,然后才能说“如果发生错误”数据库,它将得到处理” 那我该怎么办?我在这里谈论Redis,但过去我在使用SQLite和MySQL数据库时遇到过同样的问题和质疑。