[deploy]
从开发者机器同步软件到目标服务器
rsync -av -C -e "ssh -p 60222" ~/dev/project/autoReader/ node@noradle.com:autoReader2/ rsync -av -C -e "ssh -p 60222" ~/dev/project/node-queue-pool node@noradle.com:
// toLogin("15620009233", "32746805");
从命令行启动各个服务
ssh -p 60222 node@61.181.22.93 cd autoReader/lib nohup forever --minUptime 3000 --spinSleepTime 60000 node_wave.js > all.log &
[是否资源的 URL 是固定的] 经证明是一致的,因此完全可以缓冲所有的非章节页面,这样就可以避免重复阅读非章节页面。 同时,对于章节的 url 可以缓存,以后只要对着章节 url 列表进行抓取即可。
[problems]
- (done) request timeout, all concurrency is used,经查证是因为 jsdom window.close() 没写
- visualization,需要方便的查看已读书目
- multiple users can login in to start respective scan sessions and when reach the limit, end
- (done) long url > ~ 500, will fail to load, change from shred to superagent, all are well
- http user-agent can support larger connection
todos
-
(done) 首页上显示功能特性清单
-
(done) 当内存到达指定大小后,就要拒绝新的请求,显示不能再做了
-
如果发现出现错误,则立即暂停,并重新登录,然后再恢复队列执行
-
每分钟进行重新登录,确保在线状态. 如果对端存在最大登录时间的限制的化。
-
(done) 到达极限仅仅暂停是不够的,还不能让他恢复(除非过了一定的周期)
-
(done) 用户登录成功后可查看已完整读完的信息,
-
(has problem) 按章节阅读帮您选中
-
(done) 职工书屋还缺几个部分
-
(done / bug found) 动态读取 profile 版本,每次登录后重新从数据库中读取
-
(done) 使用正常的 referrer
-
(done) 使用标准浏览器的 http request header,让它更加真实
-
(done) 进度条显示. 使用 long pull 即可。单起一个页面。
-
(done) 将全部书目都先读取,然后再直接读章节。这样可以加快读取速度。每个章节都需要有正确的 referer
-
(done) 如何能够更好的支持 referer,而且是完全自动的
-
将阅读统计在暂停时更新到数据库中去
-
全读完一遍后,告知用户已经全部读完一遍,是否清除阅读记录重新扫描阅读
-
(canceled) log 能对不同用户分别输出 buffered log 才好
-
解决不能读取下一章的问题,对存在“按章阅读”链接进行扫描
-
(done) 增加获取图书的实时更新,让用户实时跟踪界面显得更快些
-
(done) 增加一本书全部章节都读取的实时更新
-
(done) 干脆所有的 log 都同时输出到界面上好了。
-
ActionQueue rate 计算应该抛去 suspend 的时间
-
(done) 登录后直接进入实时跟踪页面,启动、停止都放到这个页面,使用 hidden iframe src 控制调用启停,通过 alert 反馈
-
(done) template 改进
-
(done) 实时跟踪界面对读完章节记录进行特殊样式显示,或者普通日志使用浅色显示
-
(done?) 使用章列表进行扫表,但是使用的是节代替章
-
(done) ip filter 在 proxy 后还正确吗?
-
(done) solve bug Can't set headers after they are sent.
-
(done)记录每本书有多少章
-
(done) 如何确保一章被完全读取,必须先读目录下一页,然后再读本页章节,而且下一页级别更高,这样同一本书的下一页总要在本页的章节前开始读取,但是这不能保证本页先返回从而认为没有后续章节。因此必须要对全部章节数了解完只一个标志。
-
(done) 如何在实时跟踪中显示出一本书已经被全读完
-
(done) 如何在已读书目中显示先前已读的信息,显示为往日已读
-
如何在已读书目中显示全部章节已读完的信息
-
如何在已读书目中显示全部已探知章节和其是否已阅读的状态
-
(done) 使用 textContent,对于不支持 innerText 就解决了
-
(done) 主网页就一个主页面,其他的都从 socket.io 进行通信
-
(done) 没登陆iread成功不能展示成功
-
(done) 当 socket 断了有恢复,原先从服务器emit的消息应该不要了,使用 socket.volatile 实现
-
(done) 当 socket 断了, 重新登录还可以获得原先的任务
-
(done) 当同一个用户从不同地方打开多个窗口,都可以对应到同一个任务
-
(done) 当多个终端使用同一用户登录时的问题,只有实时 trace 会只显示一个登录的日志,可以考虑使用 socket.io 的 room.emit 功能
-
(done) 暂停恢复时对所有该号码的浏览器实例都起作用
-
(done )底栏:使用的技术,作者和其联系方式
-
(done) 每种引用的技术应用在什么地方
-
(done) 每种使用的技术起到的作用的简要说明
-
(done) features 改为使用自动的播放方式
-
(done) 已读书目都可以增加打开收起的功能
-
(done) 主网页做成是 webapp 的,支持 manifest 配置文件,可以提示用户使用chrome添加到桌面使用
-
投票功能,当一个批量运行完后,自动以 model 方式弹出
-
使用 restful API
-
(done) 进度条,使用 bootstrap 实现
-
(done) 当手机号格式对时,应该解除错误展示 style
-
(done) 重新登录后自动启动任务应该通知浏览器端
-
菜单和当前菜单和当前页的切换和标示应该拥有更简洁的设计
-
(done) bug: 菜单变灰的还可以点击
-
将 alert 替换成更加友好的信息展示方式,如状态行或者 glow like
- jade
- AMD / dojo
- jQuery
- WebSocket
- connect 改造
- jQuery mobile
- progressive API 是怎么设计的
-- 异步支持
- 如果是天津IP,才显示登录页,否则提示自动阅读已关闭,并直接导航到沃阅读
- 查看用户号码在企号通对应的手机 UA、姓名、组织;并缓存
- 如在企号通中没有,则提示打击作弊,并直接导航到沃阅读
实验性项目
-
如何防止重复阅读,必须保存已读完书目名称。这样开始预读时先从文件加载已全部读完书目,这样在进行读下一节时就不用重复了
-
当全部书目都读完后,可以选择重新阅读一遍,界面上带有连接可以删除已读书目 todo
-
读完一个批次后,需要重新登录以确保会话身份还在
-
可以暂停,继续;控制队列,允许在途的执行完,但是排队的不再允许执行,直到恢复
-
登录后记录登录时间,如果和上次登录时间不在一天,则删除老的任务队列,并启动新的任务队列。
-
如果在同一天,则清除复用原先的任务队列,但是自动执行回复执行。
-
每日自动清除前日的所有数据,setTimeout 到凌晨,然后 setInterval 每日做清理
-
阅读代理暂停(手动暂停或到达批次自动暂停)后,重新回复前,无论如何也要再登录,以确保会话身份还在 只能是在 beforeResume 事件中,强制登录,然后调用 cb(err),若成功登录,AQ.resume() 被最终调用 beforeSuspend 事件中,可以有机会保存状态
-- optional features
-
使用 jade 绑定书目 tree 做输出
-
使用 css 来实现一个书目样式
-
使用 jQuery 来实现书目折叠
-
从 connect 错误报告中查看如何最终捕获错误并得到执行栈
-
当读完指定书目的章节后,自动停止,并且通过短信告知用户
-
提供短信上行请求,请求读多少章;到达该章数,自动结束并发短信告知结果
-
使用 noradle 保存分类、书目、章节、内容
-
使用 noradle 保存每个人的阅读史
-
使用 noradle 支持另外一个阅读界面;支持字体选择,缩放,配色,关灯等效果;支持键盘导航。
-
在本界面阅读时,可以配置成同步阅读源站点,累计阅读量