以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189776) |
-- 作者:HBysy -- 发布时间:2023/12/25 15:41:00 -- [求助] 求一个思路! 我想实现一个小功能,就是数据被修改后会发送到服务器,服务器接收到数据以后等待30min后判断是否对此数据进行了验证。 方案一、我的设想是接收到数据后,异步调用“验证函数”,异步函数中先“sleep 30分钟” 然后执行验证功能后结束此函数。
但中间还有一个问题,就是设定数据有很多,当一个设定数据被修改的时候就会发送一条数据到服务器。那么我这边就要开启很多个线程
(个人理解,异步调用就会开启一个线程,直到这个函数处理完成),但同时的,如果没有结束掉异步函数的时候,不停的再调用同一个异步函数,会不会导致崩溃。
经过测试,方案一不可行,哪怕我只订阅一个主题,只接收了3条数据,狐表还是会直接卡死。 方案二、编写定时任务,每30分钟进行执行一次。即每次接收到数据后,给上传的设备打上标签,在执行过定时任务以后,将标记清除! 请教一下大家还有没有更好的思路?
以及希望了解一下,狐表的计划管理,是如何实现的,如果使用计划管理的代码,能否实现方案一。 [此贴子已经被作者于2023/12/25 15:42:42编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/12/25 15:48:00 -- 不要使用“sleep 30分钟” 这种代码,任何时候都不要使用 接收到数据后把数据存入数据库,同时保存接收的时间。然后定时查询【接收时间】超过30分钟的数据处理即可
|
-- 作者:HBysy -- 发布时间:2023/12/25 15:52:00 -- 感谢~ |