gpt4 book ai didi

python - 将 'object' 添加到带有到期计时器的堆栈中,并在到期时收到通知

转载 作者:行者123 更新时间:2023-11-28 19:27:40 24 4
gpt4 key购买 nike

我需要在我的应用程序中保留一个对象 (JSON) 一段时间(通常为 180 秒),在某些时候,客户端可能会或可能不会返回并通过其 key 请求该对象。

棘手的部分是我需要在这个对象过期时得到通知,这样我就可以在客户端尚未请求它时将它返回到可用池中。

明显的解决方案是在数据库中使用时间戳之类的东西,然后使用周期性脚本来检查过期的项目,但这并不是最好的解决方案。

理想情况下,我正在寻找类似 memcache 的东西,它可以在项目过期时调用事件,肯定有这样的产品吗?

我当前的框架基于 python、cherrpy、mongo、memcachce,但我很乐意添加到其中。

最佳答案

我可能会为此使用 threading.TimerTimer 对象将在一段时间后调用带有给定参数的指定函数。于是写了一个函数,返回一个JSON对象到池中,并启动一个定时器,指定已经预留的具体JSON对象。此外,您可以在计时器触发之前取消它,如果客户端在预留到期之前实际请求该对象,您将希望这样做。

为了跟踪池,我可能会使用 dict,其中 JSON 对象是键,如果对象未 checkout ,则值为 None ,或者 Timer 实例(如果已 check out )。一个单独的 list 可以用来跟踪接下来应该给出什么对象; pop() 取出对象时从列表末尾开始,append() 返回时返回。当心更新这两个结构的可能竞争条件!

关于python - 将 'object' 添加到带有到期计时器的堆栈中,并在到期时收到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5553769/

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