 
 
 (defn make-job
+  "If state is passed, job will be statefull, ie on each invocation state will be passed to
+  job. Result of job's execution will be the new state"
   [{:keys [ns name arguments identity group desc recovery durably state]
     :or {identity (impl/uuid)}
     :as opts}]

  "Most of the options are obvious and simply passed to TriggerBuilder. See
  http://www.quartz-scheduler.org/api/2.2.1/org/quartz/TriggerBuilder.html for details.

  Most interesting part of trigger is definition of sheduler. It can be simple or cron. For
  example:

  (make-trigger {:simple {:repeat :inf :interval 10000}})

  Cron can be string or map:

  (make-trigger {:cron {:expression \"0 0 3 * 2 ?\" :misfire-handling :ignore-misfires
                        :time-zone (TimeZone/getTimeZone \"America/Los_Angeles\")}})"
  [{:keys [start-at start-now end-at for-job modified-by-calendars identity group description
           job-data priority simple cron]
    :or {identity (impl/uuid)}}]
