利用KindleEar定制属于你自己的RSS推送服务

100
TaoAlpha
2015-06-131702 words5 minutes to read

缘起

正巧最近Kindle4RSS会员到期, 本来计划续费的. 不过正巧有朋友推荐了KindleEar, 而我又恰好之前因为 给博文添加GA的pageview, 用到了GAE, 而从我从GoAgent转移到Shadowsocks之后, 空出来了不少GAE的帐号, 于是就干脆拿来用喽~

搭建方法

搭建方法其实KindleEar-Readme中已经描述的比较清楚了, 我简单根据自己的搭建流程概括如下:

  • 申请GAE帐号创建app, 搭建本地的GAE SDK, KindleEar也是Python写成的, 所以依然用Python的SDK即可, 创建好了之后就可以了, 因为这一次没有用到google的api服务, 所以不需要我们申请api权限之类的了;
  • 下载KindleEar, 你直接git clone到本地即可;
  • 修改app.yaml, module-worker.yaml两个文件中第一行的appid为你创建的appid,config.py中的email修改为你GAE的邮箱以及应用的域名:appid.appspot.com;
  • 基本上你需要修改的就这些喽, 剩下的就是通过SDK的appcfg.py命令来部署了, 如果你已经建立了symbol link, 那么你应该可以直接执行appcfg.py的命令, 否则的话, 你需要到SDK安装目录去执行python appcfg.py(即此文件所在地址);
  • 因为其使用了两个yaml配置文件, 包含了两个模块, 所以我们需要部署的时候将两个yaml都update一下, 即appcfg.py update path_to_file/app.yaml path_to_file/module-worker.yaml;
  • 部署成功后, 需要再次执行appcfg.py update path_of_kindleear来更新cron, queue等, 因为随着GAE的升级, 目前更新yaml的过程不会自动更新这些了;
  • 如此基本就ok了, 接下来你只需要打开你的app域名appid.appspot.com就能使用了~ 默认的登录用户和密码都是admin!

目前来说KindleEar支持自定义RSS的添加, 多账户, 你完全可以把服务分享给你的朋友们, 也完全支持定时推送, 这个很实用!

最为牛叉的扩展在于, 你完全可以自己修改其python代码来优化对应的环节, 比如它自身开发支持的自定义RSS采集, 你就可以通过参照其books下的文件来自己编写自己的python采集文件!!!

亲身体验下来, 推送还是很到位的, 立即推送的同步时间大概也只有2-3分钟的延迟, 很赞!

一些Issue解决方法

部署过程遇到了几个问题, 不过基本都在KindleEar- FAQ上或者KindleEar - Issues上解决了~ 列举如下:

  • 刚部署后发现登录后的/my页面无法展示, 出现interval error:

    问题原因以及解决方案: 因为KindleEar需要使用GAE的数据库, 所以其部署后需要创建数据库, 而这一步需要一点时间的~ 你可以在GAE Console Database里面查看其创建的进展, 等到由building变到serving就说明创建完成了~ 如果显示没有创建的话, 你可以手动执行:appcfg.py update_indexes KindleEar 或者update KindleEar即可;

  • 部署后点击deliver now现实interval error:

    问题原因以及解决方案: 类似上面的问题, 如果你去log面板看日志的话, 也会发现其提示UnknowQueueError, 原因在于你可能没有部署queue的部分, 同样的, 你只需要执行appcfg.py update KindleEar就可;

恩~ 根据GAE的免费配置, 基本上可以支持10-20个人左右的同时使用~ 快去分享给自己的朋友吧!!

Tips: 为了你更好的使用RSS, 请不要泛滥订阅… 要量力而行… 提倡精品阅读! 做有质量的阅读人~