请分享您的想法,参加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 报告)
...