             (try
               (let [[ndruns mid-circle-len] (wcar conn (car/get  (qk "ndry-runs"))
                                                        (car/llen (qk "mid-circle")))
-                    ndruns (or ndruns 0)
+                    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*)]
 
-                ;; TODO For optional logging fn
-                ;; {:ndry-runs      ndruns
-                ;;  :mid-circle-len mid-circle-len}
+                (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*))]

    (when-not @running?
      (reset! running? true)
      (future
        (let [{:keys [handler throttle-ms eoq-backoff-ms]} opts
              qk    (partial qkey qname)
              done  (fn [mid] (wcar conn (car/sadd (qk "recently-done") mid)))
              retry (fn [mid & [backoff-ms]]

                         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})]
