I think iirc that at-at uses scheduledexecutor and is a very simple and stable library which only does one thing, but does it well and has no feature requests. I wrote schejulure which does a very similar job but with cron style time specifications rather than periodic and haven't touched it for years because it just works and even though it's used in production nobody has found any issues or needed it to do anything it doesn't already do. I think the same is probably true of at-at.
Adam On Mon, 17 Dec 2018, 9:46 pm <lawrence.krub...@gmail.com wrote: > James Reeves, that does sound like the right way to go. I'll do that. > > > On Monday, December 17, 2018 at 3:31:01 PM UTC-5, James Reeves wrote: >> >> >> 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...@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 clo...@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+u...@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+u...@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. > -- 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.