Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何防止两个用户在金字塔视图内执行函数

如何防止两个用户在金字塔视图内执行函数
EN

Stack Overflow用户
提问于 2020-07-12 18:12:04
回答 1查看 44关注 0票数 1

我有一个连接到/my/view之类路径的金字塔视图

因为金字塔的架构,两个请求可以同时访问同一个视图。在我的视图中,我有一个函数,每次只能有一个用户访问,这意味着:如果用户A正在处理该函数,而用户B调用该视图,则用户B在A完成之前不会进入该函数。

我尝试过:

代码语言:javascript
运行
AI代码解释
复制
lock.acquire()
try:
    my_function()
finally:
    lock.release()

但是,由于金字塔在每次请求时都会启动一个新线程,所以它无法工作。

你知道我该怎么控制这一切吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-13 18:22:11

您的锁应该可以工作,假设锁定义在视图调用之间共享的位置(模块变量、注册表变量等)。值得注意的是,金字塔本身并不启动新的线程。这是由您的WSGI服务器完成的,每个服务器的详细信息对于回答您的问题都很重要。

如果您使用waitress,则请求由线程处理,因此在共享内存空间中,您可以在请求之间共享锁。在其他场景中,每个请求都使用单独的进程,此时线程级别的锁将不起作用。因此,这取决于您的部署,在哪里是定义锁的最佳位置。例如,要跨进程共享锁,最好的位置是redis或您的数据库。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62864809

复制
相关文章
yii2注册函数(注册jscss进视图内)
注册进去了。怎么做的呢? 控制器: 视图: 即可。
贵哥的编程之路
2022/03/25
2280
yii2注册函数(注册jscss进视图内)
ABAP 防止程序重复执行
有的程序需要现在同一时间只能运行一个,这种需求可以用锁的方式来实现,在START-OF-SELECTION 事件后加锁,如果是加锁成功,说明还没有程序在执行,如果是加锁失败,则说明已经有同名程序在运行,报错即可。
matinal
2020/11/04
9420
ABAP 防止程序重复执行
投票系统如何防止一个用户多次投票
最简单的方法就是在用户投票以后记录下一定信息,每次投票时就检测这个特定信息是否存在。实现的方法我想到了3种,具体如下: 1,用Page.Session;   private void saveInSession()   {    if(Page.Session["ok"]==null)    {     Vote();     Page.Session["ok"]=1;    }    else    {     NoVote();    }   } 2,用Request.Cookies;   private void saveInCookie()   {    if(Request.Cookies["ok"]==null)    {         Vote();         HttpCookie cookie = new HttpCookie("ok");         cookie.Values.Add("visit","1");         cookie.Expires = DateTime.Now.AddYears(1);         Response.AppendCookie(cookie);    }    else    {     NoVote();     }   } 3,用Page.Cache; private void saveInCache()   {    if(Page.Cache["ok"]==null)    {     Vote();     Page.Cache["ok"]=1;    }    else    {     NoVote();    }   } 要做复杂点也可以把用户的ip记录下来,写入数据库,在投票前先查看数据库是否有投票记录,这个方法就复杂多了,但是可以避免前几种用户关掉页面又进入可以投票的问题。 若大家还有什么更好的方案请回帖。
深蓝studyzy
2022/06/14
1.7K0
php防止用户重复登录
先来理解一下session的几个设置: ini_set('session.auto_start',0); 设置关闭session的自动启动 ini_set('session.cookie_lifetime',0); 设置session在浏览器关闭时失效,session默认情况下是这样子的,无需在设置 ini_set('session.gc_maxlifetime',3600); 设置session在浏览器未关闭时的持续存活时间 大概知道上面的几个设置,那么我们开始理解下今天的内容啦。每当一个用户登
benny
2018/03/06
3.8K0
php防止用户重复登录
如何先执行input (checkbox,radio)再执行函数
遇到一个问题,当input type="checkbox"点击时,没有立即执行勾选或去勾,而是先执行函数,如下代码
山河木马
2019/03/05
9630
Golang防止多个进程重复执行
lockFile变量值自定义;在main函数执行完成后需要移除锁文件并关闭文件读取。
平也
2020/04/03
3K0
在JS中统计函数执行次数与执行时间
不过在Chrome中内置了一个 console.count 方法,可以统计一个字符串输出的次数。我们可以利用这个来间接地统计函数的执行次数
书童小二
2018/10/09
3.7K0
windows系统是如何执行用户命令的?
一直以来,有一个疑问,在windows系统CMD下输入命令,如:javac,熟悉java的人都知道,这是将.java文件编译成.class文件,那么系统是如何找到可执行文件(.exe结尾)的呢?
技术人生
2020/01/20
8820
在Spring boot中使用 AOP 如何防止重复提交!!!
上述的思路其实没有问题的,但是需要前后端都稍加改动,如果在业务开发完在加这个的话,改动量未免有些大了,本节的实现方案无需前端配合,纯后端处理。
用户5224393
2019/07/10
1.5K0
在Spring boot中使用 AOP 如何防止重复提交!!!
远程代码执行 (RCE),解释:它是什么,以及如何防止它
远程代码执行 (RCE) 是一类软件安全缺陷/漏洞。RCE 漏洞将允许恶意行为人通过 LAN、WAN 或 Internet 在远程计算机上执行自己选择的任何代码。RCE 属于更广泛的任意代码执行 (ACE) 漏洞类别。然而,随着互联网的普及,RCE漏洞的影响迅速扩大。因此,RCEs 现在可能是 ACE 最重要的漏洞类型。
OwenZhang
2021/12/08
4.1K0
运营必读 |“用户金字塔模型”在社区产品中的重要性
我在给一些公司和业内做《用户运营工作的基本逻辑》这个分享的时候,提到过一个“用户金字塔模型”,当时只是简单的做了扩展。这个模型我觉得是所有运营工作者、产品工作者,乃至项目的总负责人都应该好好考虑的一个
用户1756920
2018/07/20
2K0
如何防止APP隐私数据被SDK收集,这有两个解决方法
你大概知道自己的手机里装了多少个APP,你也知道APP在收集你的个人隐私数据。但你或许不知道,除此之外,你的数据还可能同时被隐藏在APP里的第三方SDK收集。 去年8月,中国一款嵌入到500多个APP
BestSDK
2018/04/19
2.7K0
如何防止APP隐私数据被SDK收集,这有两个解决方法
如何防止APP隐私数据被SDK收集,这有两个解决方法
你大概知道自己的手机里装了多少个APP,你也知道APP在收集你的个人隐私数据。但你或许不知道,除此之外,你的数据还可能同时被隐藏在APP里的第三方SDK收集。
BestSDK
2018/07/30
2.1K0
【说站】python协程函数如何执行
2、执行协程函数,制作协程对象,函数代码不能运行,如果想运行协程函数的内部代码,必须将协程对象交给事件循环处理。
很酷的站长
2022/11/24
5750
【说站】python协程函数如何执行
php代码执行函数_php代码如何运行
大家好,又见面了,我是你们的朋友全栈君。 ** php代码执行函数解析 ** ​一、代码执行漏洞原理: 用户输入的数据被当做后端代码进行执行 <?php @eval($_REQUEST[8])?>
全栈程序员站长
2022/11/10
16K0
php代码执行函数_php代码如何运行
在python中如何比较两个float
奇怪的现象 前几天跟同事聊起来,在计算机内部float比较是很坑爹的事情。比方说,0.1+0.2得到的结果竟然不是0.3? >>> 0.1+0.2 0.30000000000000004 为什么会出现
py3study
2020/01/06
4.2K0
点击加载更多

相似问题

如何防止用户在控制台中执行js函数

25

在视图内呈现时,JQuery就绪函数不执行

12

如何防止vim在执行:make命令后使用错误的视口?

11

防止两个挂起函数的部分并发执行

117

Vb.net -如何防止多个用户在函数实际完成最后一次执行之前执行该函数

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档