2014-12-19 40 views
1

有一個功能stream_list_keys/2(來自riak-erlang-client),它允許接收某個桶中的所有密鑰。連續生產Riak桶中的密鑰

但是,這個函數完成發送後發送密鑰。 是否有可能繼續獲得鑰匙?那就是接收Riak中出現的密鑰?

回答

0

這可以通過自定義commit hook來完成,以從存儲的對象中提取所需的數據,並將該信息發送到偵聽過程。但請注意,如果預提交鉤子引發異常或返回除riak對象以外的其他任何對象,put操作將被中止並且對象不會被存儲。

0

簡短的回答是否定的。流密鑰的能力僅基於已經存在的密鑰。你所要求的是能夠「訂閱」該功能沒有設計的事件。

正如Joe建議的那樣,提交鉤子可能是在Riak中做你想做的事情的最好方法。根據您提出問題的方式,我會建議您使用Post-Commit掛鉤(http://docs.basho.com/riak/latest/dev/advanced/commit-hooks/)而不是預先提交掛鉤。正如喬提到Pre-Commit鉤子中的錯誤可能導致鍵不能被保留,我不相信這是你正在尋找的行爲。