Changes:
- #43: Passing thread-bindings through to scheduled task
- #41: Allow user to override the thread-factory used by Chime, makes Chime Loom-friendly (thanks @jimpil)
- Allow specifying ‘clock’ to `chime-at` (thanks @jimpil)
- #36: ensure we only call on-finished once (thanks @dazld)
- #33: include thread-count in thread name (thanks @orestis and @pmonks)
- #34: add `IPending` implementation to return value of `chime-at` (thanks @nukep)
- The without-past-times didn’t work with joda dates, even with chime.joda-date imported.
I left in some println debugging. Apologies.
Have finally gotten around to spending some non-trivial time modernising Chime, thanks for your patience :)
This is a backwards compatible release - the original chime
namespace still behaves 100% as before.
The plan now is to move to a 1.0.0 release imminently (in line with the rest of the Clojure community, apparently!) in which I’ll remove this layer - so feel free to use this release to migrate over.
Changes:
- Main chime namespace is now
chime.core
, rather than thechime
top-level namespace - core.async is no longer a required dependency -
chime-ch
is inchime.core-async/chime-ch
chime-at
now returns anAutoCloseable
rather than a close function - call.close
to stop the schedule.- Chime no longer removes past times for you - this was causing counter-intuitive issues.
I’ve added
chime.core/without-past-times
if you want to restore this behaviour. - Error handling has changed slightly - you now need to return truthy to continue the schedule, falsy to stop it.
Just to confirm, these changes only apply to chime.core
/ chime.core-async
- the behaviour of the chime
namespace hasn’t changed.
Chime was resurrected somewhat, due to Tick (temporarily) removing their schedule support.
Breaking changes:
- Chime now uses java.time by default (thanks to Jakub Holy for the PR!).
You’ll want to
(:require chime.joda-time)
to preserve backward compatibility - Chime no longer includes Joda time as a runtime dependency
core.async bumped from 0.2.374 t0 0.3.442 to avoid spec problem (#21) - thanks to Dexter Gramfors for the PR
Chime correctly handles empty time seqs - thanks to Alex ter Weele for the report.
Breaking change/functionality clarification: previously, if a job was scheduled before the timer was cancelled, the job would still run. After 0.2.0, jobs that haven’t started before the timer is cancelled will not run.
Thanks to Dave Harlan for raising the issue!
Bugfix to work around http://dev.clojure.org/jira/browse/ASYNC-138 (work around in http://dev.clojure.org/jira/browse/ASYNC-32). Thanks to Nicola Mometto and @schmfr for helping to track it down!
Deps bump to Clojure 1.7, core.async 0.2.374, and clj-time 0.11 - thanks @scribahti.
Deploying 0.1.9 because Clojars part-failed on 0.1.8
We delegate to the thread’s uncaught exception handler by default, if error-handler
isn’t provided.
Thanks Michael Griffiths :)
PR from Bartosz to add an on-finished
callback to chime-at
- thanks!
Bugfix from Nick Rothwell fixing a negative interval bug - thanks!
Also, allowing you to close the channel returned by chime-ch
to cancel the schedule.
No breaking changes
Bugfix from Philipp Rockel fixing a negative interval race condition - thanks!
No breaking changes
Added chime-ch
, returning a channel. Re-implemented chime-at
in terms of chime-at
.
No breaking changes
Bug-fix for race condition - I advise everyone on earlier 0.1.x versions to upgrade.
No breaking changes. Added error-handling to chime-at
.
Initial release