全真回放(在2个小时内每1秒发送一次数据到前台),这样的业务应用定时器的时候,有什么要注意的吗?

zyxjason

当前业务是这样:
老师端在直播的时候会把没一个操作记录到一个TXT文件里,当直播结束时,服务端把这个TXT命令导入到mongodb数据库中。 当学生来看回放时,使用定时器功能,每1秒发送一次数据到前台(查询数据是一次可以预先查询1000条, 然后检索这1000条,取出1秒内的数据发到前台);定时器的ID可能会一直变化,因为用户可以暂停,拖进度,就会有新的定时器产生(老的定时器会被删除)

这样的业务应用定时器的时候有什么需要注意的吗?当前我开的定时器是在当前进程,没有新开task。

有没有更好的方法?

1927 2 0
2个回答

zyxjason

能不能把定时器放到task中,外层控制task的开启和关闭。

比如:当用户点击开始播放时,启动一个task,在task内部开启定时器,把当前task对象存到session中,当用户拖动时,新启动一个task,关闭上一个task。

  • 暂无评论
taozywu

@zyxjason
根据你说的我说下我的一点思路:
1、老师端存储可以按照key/value进行存储。其中key为当前秒,value为txt内容。存放在mongodb
2、学生端根据每个视频的时间戳能取到,然后再去关联mongodb的数据。具体怎么实现可以
2.1 可以定时发一大段数据,前端先包起来,然后再使用。
2.2 可以通过websocket来实现。

  • 暂无评论
年代过于久远,无法发表回答
🔝