CouchDB stale = update_after完成通知

时间:2015-01-30 09:42:37

标签: couchdb

有没有办法通过推送或拉动来接收有关视图何时更新的通知?理想情况下,我希望能够将现有数据返回给用户,然后在新内容可用时通知他们。

1 个答案:

答案 0 :(得分:0)

看起来没有明确的方式来做你要求的事情,但我有一些想法给你:

1)轮询_active_tasks

您可以尝试检查服务器的活动任务列表,查找匹配的条目:type === indexerdesign_document === _design/your-design-doc。如果您的视图需要几分钟或更长时间才能完成更新,这可能值得一试。 (我从来没有真正试过这个,但理论上它应该可行)这需要你不断轮询服务器。

2)通过HEAD

轮询视图本身

发出第一个请求后,您可以使用HEAD请求开始轮询,等待ETag标头更改。 (表示视图索引已更改)HEAD请求大约尽可能少,因此这可能是比#1更好的选择

3)问题2 GET请求(而不是使用stale=update_after

你总是可以发出2个请求,其中第一个是stale=ok为了速度。然后,您只需在此之后立即发出请求,但不允许过时的结果。它并不像华丽的#34;但这可能是最好的。