我对 Java on GAE没有什么兴趣, 这次升级让我最关注的是GAE 终于有cron了. FeedzShare 要定期抓取feed, 没有cron 以前只能另外找个机器定期访问FeedzShare 来激活. cron 一直是我最期盼的feature. 知道这个消息后第一时间找到文档并下载了最新的sdk (记得要去英文网页, 不要去中文页面, 中文页面现在还挂着1.1.0, What the hell?).
GAE上的Cron Job 定期调用你app上的某个url来实现Scheduled Task. 这个URL的处理和其它response有同样时间限制.
一个app最多能创建20个job
可以指定具体触发时间, 也可以指定每隔多少时间触发, 最小间隔是1分钟
cron 可以访问admin 才能访问的url, 因此如果你要保证task url的安全性, 可以设成只能admin 访问.
加入cron很简单, 在根目录下创建cron.yaml, 在里面描述cron的url, 设定好schedule time和target url. 然后象平常一样用appcfg上传你的代码. 我为 FeedzShare 建立起了feed抓取的job, 只花了五分钟.
有了cron 之后, 我最期盼的新功能就是全文搜索了. 其实GAE 早就有了基本的搜索api , 但是功能很简单, 没有公开, 一直以来也没有什么改进, 连roadmap里面都找不到影子. 我在group里面看到一些讨论, 可能是因为性能原因.