请在2024 Clojure状态调查!分享您的想法。

欢迎!请查看关于页面以了解更多关于这个网站的信息。

0
core.async

我想知道项目从滑动或掉落缓冲区中掉落的时间,这样我就可以进行日志记录和监控指标。

所附补丁实现了一种机制,通过向`sliding-buffer`和`dropping-buffer`添加一个可选的第二个参数,即一个带有掉落项目将被调用的单参数函数。

共有2个答案

0

评论者:gshayban

嗨,Chris,我认为这个用例可以直接通过一个go进程和直接收集来处理,无需修改现有的缓冲区实现。我担心给缓冲区添加非必需的字段。

我喜欢使用库原语确保它们尽可能地完整。

(如果你真的非常想自己实现缓冲区,没人会阻止你 =) 这仍然是一个实现协议,但它相对稳定。只需注意,缓冲区操作在通道锁的上下文中运行,因此请确保使用dispatch/run将溢出功能调度到异步线程池中。

0
参考资料:https://clojure.atlassian.net/browse/ASYNC-55 (由cperkins报告)
...