gpt4 book ai didi

python - 关于django线程安全的问题

转载 作者:行者123 更新时间:2023-11-30 23:44:49 27 4
gpt4 key购买 nike

我有一个 django 应用程序,用于管理调查注册。

槽位数量是固定的,我想在用户注册时为他们“预留”槽位。在我的一个观点中,我获取下一个可用插槽并保留它(或者如果没有可用插槽则重定向用户。)

我想防止两个用户同时注册并注册同一插槽的情况,因为方法“get_next_available_slot”为两个用户返回了相同的插槽。

为此,我试图通过 Django View 了解进程和线程的使用。

1)每个请求是否在单独的线程中处理,并且将使用 python 线程模块的 LOCK() 处理独占访问吗?

2) 我在 RHEL 上使用 modwsgi 运行 apache。如何配置 Apache/modwsgi 以确保有更轻松简单的解决方案来处理上述情况?

我根本不希望 Web 应用程序承受巨大的负载。因此,我想要一种更简单的解决方案,而不是高性能的解决方案。

最佳答案

您不应该对 django 应用程序的线程/进程设置做出假设,因为它取决于您正在使用的 Web 服务器以及 django 如何集成到它。因此,进程间通信方法不应依赖这些细节来确保可靠。一种好的解决方案是使用内置缓存库来锁定和共享数据。

这是一个good example缓存锁确保一次仅运行一次 celery 任务实例。您也可以将其应用于常规请求。

关于python - 关于django线程安全的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9916571/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com