使用Python对环境进行程序性合理性检查的最佳实践是什么?
我正在搭建一个系统,这个系统依赖一些东西,比如Apache、Postgresql和mod_wsgi。在我部署的过程中,我想写一个检查脚本,看看服务器的环境是否符合我的一些基本假设,其中最基本的就是这些依赖是否已经安装。
我考虑过的检查内容包括:
- 检查服务是否在响应,比如发个HTTP请求,连接数据库等等。
- 以某种方式检查服务是否在运行,比如用命令
ps ax
来查?(不过这似乎不太可靠) - 检查软件包是否安装,比如通过查询dpkg来确认。
这些检查显然是从具体到抽象排列的,我希望如果某个测试失败了,我可以通过运行更具体的测试来找出原因。
但是我该在哪儿停下来呢?我应该检查多少个具体的层级?有没有什么好的做法来处理这种情况?
谢谢!
1 个回答
1
我会运行这个程序,并在第一次使用某个功能的地方加上合适的错误处理,这样可以给用户发出清晰的信息,告诉他们缺少了什么(比如没有安装数据库,或者数据库已经安装但没有运行等等)。