使用锁和多处理的Flask应用程序

2024-10-05 13:14:39 发布

您现在位置:Python中文网/ 问答频道 /正文

通过基于烧瓶的API公开数据库,我在视图函数中使用锁来避免非原子数据库操作的问题。在

例如,在处理PUT时,如果数据库驱动程序没有提供原子upsert特性,我只需获取锁,读取、更新、写入,然后释放锁。在

AFAIU,这在多线程环境中工作,但由于锁属于Flask应用程序,因此如果使用多个进程,它将失败。这是对的吗?

如果是这样,当使用多个进程时,人们如何处理锁?他们是否使用诸如Redis这样的外部基础来存储锁?在

附属问题。我的apache配置是

WSGIDaemonProcess app_name threads=5

在我不扔一些processes=N之前,我能断定我是安全的吗?在


Tags: 函数视图api数据库应用程序flask烧瓶put

热门问题