I'd use an executor: (ns example.main (:import [java.util.concurrent Executors TimeUnit]))
(def scheduler (Executors/newScheduledThreadPool 32)) (defn fetch-files [] (println "Fetching files...)) (defn -main [] (.scheduleAtFixedRate scheduler ^Runnable fetch-files 15 15 TimeUnit/MINUTES)) On Mon, 17 Dec 2018 at 20:14, <lawrence.krub...@gmail.com> wrote: > I'm coming back to Clojure development after a year away. This is a fast > moving community and it is hard to keep up when one is not working on it > full time. I'm dusting off some code I wrote 2 years ago, and trying to > bring all the dependencies up to their current versions. > > I have a function that fetches files from an AWS S3 bucket, every 15 > minutes. I had previously used the at-at library for this: > > https://github.com/overtone/at-at > > But at-at has not been updated in 6 years, so I assume it is abandoned. I > have two questions about this: > > 1.) how else do Clojure programmers usually call recurring functionality? > > 2.) I am ignorant about the JVM, so I'm afraid I have to ask, at a > fundamental level, how does at-at work? I know that if a function calls > itself recurringly, on the JVM, one eventually gets stackoverflow. So how > does at-at make its magic work? > > -- > 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. > -- James Reeves booleanknot.com -- 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.