I'm a bit confused by this and other examples I've seen of Quartz in Immutant. Where is the actual Quartz instance running? Inside your app process itself, right? How do you handle being able to re-deploy with maintaining continuity on the scheduler?
@mingp: correct - the scheduler is running inside the app process, that's the only way to use Quartz. It supports JobStores to persist the jobs (http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-09.html), but using it the way we'd like from clojure is problematic, since it wants classes instead of closures.
The best way to use quartz is with static jobs (defined at app startup), jobs that you can regenerate from other sources on startup (based on flags in a db, etc), or dynamic jobs that you may not care if they fire (which would be rare)