我将Django与Postgres结合使用。 我的网站处理了50万个页面,没有任何问题,并且一切正常。
但是我使用的是API系统,其工作方式如下:
第一方使用API调用我的网站,我的网站从第三方获取数据 使用API的网站。我的网站提取了一些数据并将其传递给First 派对。它运作完美。在这个周期中,我必须检查我的Postgres 数据是否已经存在。
一切正常。但是,如果第三方API无法响应或第三方出现任何服务器问题,则需要很长时间才能响应404错误,我的postgres死了,我每次都必须运行In [20]: m = [[False for i in range(5)] for i in range(5)]
In [21]: m
Out[21]:
[[False, False, False, False, False],
[False, False, False, False, False],
[False, False, False, False, False],
[False, False, False, False, False],
[False, False, False, False, False]]
In [22]: m[0][0] = True
In [23]: m
Out[23]:
[[True, False, False, False, False],
[False, False, False, False, False],
[False, False, False, False, False],
[False, False, False, False, False],
[False, False, False, False, False]]
命令来进行站点工作。
可能是什么问题?如何检查Postgres快要死了?
答案 0 :(得分:1)
尽管有一种猜测,但一种可能性是,在进行第三方API调用时,您的代码正在锁定数据库表。这样可以防止在等待时发生其他更新。
这不能解释为什么您需要重新启动Postgres服务器,应该在第三方API调用超时后释放锁。
在您的问题中添加用于检查数据库中是否已存在数据,调用远程API并最终用新数据更新数据库的代码可能会有所帮助。