                          auto-start?    true}}]]
   (let [w (->Worker conn qname (atom false)
                     {:handler        handler
+                     :monitor        monitor
                      :lock-ms        lock-ms
                      :eoq-backoff-ms eoq-backoff-ms
                      :throttle-ms    throttle-ms})]

                     or returns {:status     <#{:success :error :retry}>
                                 :throwable  <Throwable>
                                 :backoff-ms <retry-backoff-ms}.
   :lock-ms        - Max time handler may keep a message before handler
                     considered fatally stalled and message re-queued. Must be
                     sufficiently high to prevent double handling.

            (try
              (let [[ndruns mid-circle-len] (wcar conn (car/get  (qk "ndry-runs"))
                                                       (car/llen (qk "mid-circle")))
                    ndruns (or (car/as-long ndruns) 0)
                    eoq-backoff-ms* (if (fn? eoq-backoff-ms)
                                      (eoq-backoff-ms (inc ndruns))
                                      eoq-backoff-ms)
                    opts* (assoc opts :eoq-backoff-ms eoq-backoff-ms*)]

                (when monitor (monitor {:mid-circle-len mid-circle-len
                                        :ndry-runs      ndruns}))

                (when-let [[mid mcontent attempt :as poll-reply]
                           (wcar conn (dequeue qname opts*))]
