Hello Adam, I knew about https://github.com/overtone/at-at. Your lib is pretty straight forward and promising.
Cheers On 17 January 2013 16:05, Adam Clements <adam.cleme...@gmail.com> wrote: > A URL would probably help: https://github.com/AdamClements/schejulure > > > On Thursday, January 17, 2013 5:56:40 PM UTC, Adam Clements wrote: >> >> So there are a few scheduling libraries around, I wanted one for >> cron-like job scheduling and my options were quite limited, there are >> things like clj-cronlike and quartzite but I found the syntax quite clunky >> and didn't like the central stateful scheduler idea. There are also things >> like at-at, but that's more for events recurring over seconds/minutes or >> one-shot events, so that was out too. >> >> In the end I wrote my own library. It's tiny (~60 lines) and does one >> task quite well. It's modelled after futures, and in fact returns a future, >> so use it in the same places/way you might use a future, but for recurring >> events. >> >> To schedule things, it's like a cron setup (so by default fires every >> minute of every hour of every day...) but you can pass a map of times when >> it should fire, so for example {:minute [0 15 30 45] :day :tue} will fire >> every 15 minutes on a tuesday where {:hour 9} will fire every minute from >> 9-10am every day. Beyond that you simply call schedule with pairs of >> schedule maps to functions which should fire. >> >> Example: >> => (def my-running-scheduler >> (schedule {:hour 12 :minute [0 15 30 45]} my-function >> {:hour (range 0 24 6) :minute 0 :day [:sat :sun]} >> batch-job)) >> >> ... >> => (future-cancel my-running-scheduler) >> >> Simple as that. >> >> Like I say, this was to scratch my own itch, but if anyone else finds it >> useful, great. If it nearly does what you want but not quite... hey, it's >> only 60 lines, fork it/fix it. If anyone has suggestions for features, >> bugfixes or other libraries I should be contributing this code to instead, >> that would be useful knowledge too. >> > -- > 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 > -- Paulo Suzart @paulosuzart -- 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