Looks like the exception is thrown during config parsing. You probably need to enclose the email addresses in a vector [] rather than a list ().
Ray. On 8 May 2015 at 08:01, Alexey Astafyev <av.astaf...@gmail.com> wrote: > I'm new to Riemann and Clojure. All I want to do is to send email > notifications to three email groups when some service's TTL is expired. I > created some sort of config file where I store a list of emails: > > { > :email_group_1 ( > "fi...@example.com" > "sec...@example.ru" > ) > :email_group_2 ( > "th...@example.com" > ) > } > > > My riemann config looks like this: > > (logging/init {:console true}) > (import org.apache.log4j.Level) > (logging/set-level Level/DEBUG) > > (require '[clojure.java.io :as io]) > (import '[java.io PushbackReader]) > > (let [host "0.0.0.0"] > (tcp-server {:host host :port 60001}) > (udp-server {:host host}) > (ws-server {:host host :port 60003})) > (repl-server {:host "127.0.0.1"}) > > (def cwd (System/getProperty "user.dir")) > > (def emails > (with-open [r (io/reader (str cwd "/etc/emails.clj"))] > (read (PushbackReader. r)))) > > (periodically-expire 5) > > (def email (mailer)) > > (defn notify [& egroups] > (for [egroup egroups] > (rollup 1 60 (apply email (emails egroup))))) > > (let [index (index)] > (streams > (default :ttl 60 > index > > (expired > (where (service "service_connect_active") > #(info "expired" %) > (notify :email_group_1 :email_group_2)))))) > > > Code looks good (for me), but when this service is expired I get the > following error: > > 09:45:39 riemann.1 | INFO [2015-05-08 10:45:39,313] Thread-5 - > riemann.config - expired {:ttl 60, :time 357766884827/250, :state expired, > :service service_connect_active, :host ava.local} > 09:45:39 riemann.1 | WARN [2015-05-08 10:45:39,319] Thread-5 - > riemann.config - clojure.lang.LazySeq@841649b8 threw > 09:45:39 riemann.1 | java.lang.ClassCastException: clojure.lang.LazySeq > cannot be cast to clojure.lang.IFn > 09:45:39 riemann.1 | at > riemann.config$eval66$stream__70$fn__75.invoke(riemann.development.config:34) > 09:45:39 riemann.1 | at > riemann.config$eval66$stream__70.invoke(riemann.development.config:45) > 09:45:39 riemann.1 | at > riemann.streams$match$stream__3514$fn__3525.invoke(streams.clj:1209) > 09:45:39 riemann.1 | at > riemann.streams$match$stream__3514.invoke(streams.clj:1209) > 09:45:39 riemann.1 | at > riemann.streams$default$stream__3731$fn__3742.invoke(streams.clj:1328) > 09:45:39 riemann.1 | at > riemann.streams$default$stream__3731.invoke(streams.clj:1328) > 09:45:39 riemann.1 | at > riemann.core$stream_BANG_$fn__4415.invoke(core.clj:19) > 09:45:39 riemann.1 | at riemann.core$stream_BANG_.invoke(core.clj:18) > 09:45:39 riemann.1 | at > riemann.core$reaper$worker__4529$fn__4539.invoke(core.clj:303) > 09:45:39 riemann.1 | at > riemann.core$reaper$worker__4529.invoke(core.clj:297) > 09:45:39 riemann.1 | at > riemann.service.ThreadService$thread_service_runner__1973$fn__1974.invoke(service.clj:71) > 09:45:39 riemann.1 | at > riemann.service.ThreadService$thread_service_runner__1973.invoke(service.clj:70) > 09:45:39 riemann.1 | at clojure.lang.AFn.run(AFn.java:22) > 09:45:39 riemann.1 | at java.lang.Thread.run(Thread.java:745) > > > Could someone please help me? Thanks. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.