当两个条件都满足时,我有 riemann 代码来触发电子邮件。所以我写了下面的代码。
(let [email (mailer {....email configuration})]
(streams
(where (service "log")
(smap
(fn [events]
(let [count-of-failures (count (filter #(= "failed" (:Status %)) events) and (filter #(= "UK" (:Country %)) events))] ;Calculate the count for matched value
(event
{
:status "Failure"
:metric count-of-failures
:total-fail (>= count-of-failures 2)})))
(where (and (= (:status event) "Failure")
(:total-fail event))
(email "xxx@xx.com")
)prn))))
一旦我开始执行,我就会遇到错误clojure.lang.ArityException: Wrong number of args (3) passed to:
谁能建议我在这里使用AND操作的正确方法。
提前致谢