百度前端技术学院是一个为大学生创办的免费的前端技术实践、分享、交流平台。由百度校园招聘组、百度校园品牌部、百度前端技术部以及多个百度的前端团队联合创办。学院组织了一批百度在职工程师,精心编写了数十个实践编码任务,将技术知识点系统有机地串联在各个充满趣味与挑战的任务中,同学们通过实际地编码练习来掌握知识,再辅以互相评价、学习笔记等方式,加深对于学习内容的理解。在过去的三年中,百度前端技术学院累积吸引了上万名同学参加,并且有数十名同学在学习后,顺利加入了百度,成为了百度的前端工程师。

网页抓取分析服务系列之五(并发控制)

困难

人数27人在学习该课程,有15人已经完成该课程

时间平均用时0.8

课程概述

作业提交截止时间:04-24

任务目的

  • 任务的并行控制逻辑设计
  • socket.io的使用

任务描述

  • 在4的基础上前端增加一个输入选项(页码),表面需要抓取的页数,另外设备输入值由下拉框改为多选框。
  • 单个用户可以选择多个设备的模拟任务,并且每个设备需要抓取多页。
  • 服务器端根据选择的情况,生成任务待执行队列,每个phantomjs任务只执行一次抓取。同时允许nodejs调起最大5个phantomjs的进程。
  • 前后端改为通过web socket通信,使用socket.io库,每完成一个抓取,将结果追加到页面中。同时在页面的最上方显示当前的进度(完成数/总任务数)。

任务注意事项

  • phantomjs进程的最大5个并发需要考虑多人同时提交和任务积压的情况:即两个用户A、B同时提交了4个任务到服务端,服务端只能执行A的4个、和B的1个,等前面有执行完毕的,B的剩下的再执行。

参考资料

socket.io参考

学员提交的作业 (-)
学员名称提交时间提交的代码预览效果评价数平均得分操作
课程优秀学习笔记

暂无优秀学习笔记~