删除视频的文件的时候,地址栏输入http://127.0.0.1:9001/video-delete-record/123之后程序运行有点疑惑

来源:5-7 api实现以及scheduler完成

慕数据3473019

2018-06-30

http://img.mukewang.com/szimg/5b378cc2000185c310460388.jpghttp://img.mukewang.com/szimg/5b378cfc0001fa9816142392.jpghttp://img.mukewang.com/szimg/5b378d13000133a517541844.jpg

如上面贴的几个图 我在程序运行的时候打印了几个标识,按我理解应该是在StartAll()中给Controller chan写一个READY_TO_DISPATCH,然后Dispatcher去读数据库获取被删除的视频ID,然后给Controller写READY_TO_EXECUTE,然后Exector去删除文件和数据库中的数据,然后给Controller chan写一个CLOSE,然后退出。

猜想的应该是如下的打印结果:

2018/06/30 21:36:59 delete vid is : 123

2018/06/30 21:37:01 this is befor StartAll

2018/06/30 21:37:01 this is before Dispatcher

2018/06/30 21:37:01 this is before Excutor

2018/06/30 21:37:01 this is  VideoClearExecutor

2018/06/30 21:37:01 this is before CLOSE

但是实际打印的结果如下图:

http://img.mukewang.com/szimg/5b378f1300010ef407540740.jpg

好像是Controller chan连续读写了几个READY_TO_DISPATCH和READY_TO_EXECUTE,但是只读写了一个CLOSE。很疑惑,请老师解答一下。谢谢。

写回答

1回答

艾文西

2018-07-11

是不是数据库中有多条记录?scheduler会每次按照分页去查询删除,直到没有记录为止

0
0

Go语言实战流媒体视频网站,高效学习Go高性能开发

从零开始,全面掌握Go语言编码的架构风格和开发Web的关键技能

996 学习 · 268 问题

查看课程