Foxtable(狐表)用户栏目专家坐堂 → [求助]


  共有2112人关注过本帖树形打印复制链接

主题:[求助]

帅哥哟,离线,有人找我吗?
HBysy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:222 威望:0 精华:0 注册:2023/12/6 9:53:00
[求助]  发帖心情 Post By:2023/12/25 15:41:00 [只看该作者]

求一个思路!
我想实现一个小功能,就是数据被修改后会发送到服务器,服务器接收到数据以后等待30min后判断是否对此数据进行了验证。

方案一、我的设想是接收到数据后,异步调用“验证函数”,异步函数中先“sleep 30分钟” 然后执行验证功能后结束此函数。
但中间还有一个问题,就是设定数据有很多,当一个设定数据被修改的时候就会发送一条数据到服务器。那么我这边就要开启很多个线程
(个人理解,异步调用就会开启一个线程,直到这个函数处理完成),但同时的,如果没有结束掉异步函数的时候,不停的再调用同一个异步函数,会不会导致崩溃。
经过测试,方案一不可行,哪怕我只订阅一个主题,只接收了3条数据,狐表还是会直接卡死。
方案二、编写定时任务,每30分钟进行执行一次。即每次接收到数据后,给上传的设备打上标签,在执行过定时任务以后,将标记清除!

请教一下大家还有没有更好的思路?
以及希望了解一下,狐表的计划管理,是如何实现的,如果使用计划管理的代码,能否实现方案一。
[此贴子已经被作者于2023/12/25 15:42:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/12/25 15:48:00 [只看该作者]

不要使用“sleep 30分钟” 这种代码,任何时候都不要使用

接收到数据后把数据存入数据库,同时保存接收的时间。然后定时查询【接收时间】超过30分钟的数据处理即可

 回到顶部
帅哥哟,离线,有人找我吗?
HBysy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:222 威望:0 精华:0 注册:2023/12/6 9:53:00
  发帖心情 Post By:2023/12/25 15:52:00 [只看该作者]

感谢~

 回到顶部