这种情况:
-
我有一个在无服务器环境(AWS lambda)中运行的django服务
-
无服务器环境从我的django服务中创建一个docker映像
- 每隔几分钟,它将启动容器并执行我的服务中的内容
- 已创建docker映像作为服务的快照,这意味着数据库连接也将放置在映像中。
- 启动容器并执行我的代码后-先前的连接将被重用,无论它们可能已被其他服务消失或被其他服务重用。
- 我收到数据库接口错误。
- 所以我该怎么做-每次在执行代码逻辑之前,我都会关闭所有连接(django将根据需要重新创建新连接)
- 由于它解决了当前服务的问题-完全破坏了可能重用了连接的其他服务(通过称为数据库连接池的方式)
- 当我的django服务关闭时,它的连接是有可能的;以前的旧连接现在有可能被其他服务重用,而我的django服务会破坏它。
我如何确保我的django服务不会杀死连接,而是返回到连接池并只是抓住其他任何可唤醒的连接?