 
 (defn start-offer-matcher!
   "Create a thread to repeatedly pull from matcher-chan and have the offer matched."
-  [conn pending-jobs-atom matcher-chan]
+  [conn pending-jobs-atom matcher-chan rescinded-offer-id-cache]
   (async/thread
     (log/debug "offer matcher started")
     (try

                        (catch Exception e
                          (log/error e "Reconciliation error")))))
      ;; Ignore this--we can just wait for new offers
      (offerRescinded [driver offer-id])
      (frameworkMessage [driver executor-id slave-id data]
                        (heartbeat/notify-heartbeat heartbeat-ch executor-id slave-id data))
      (disconnected [driver]

               {:instance (str (count (:job/instance job-ent)))})
             "UTF-8")
     executor-key executor-value}))

(defn rescind-offer!
  [rescinded-offer-id-cache offer-id]
  (log/info "Rescinding offer" offer-id)
  (swap! rescinded-offer-id-cache (fn [c]
                                    (if (cache/has? c offer-id)
                                      (cache/hit c offer-id)
                                      (cache/miss c offer-id offer-id)))))

(timers/deftimer [cook-mesos scheduler handle-status-update-duration])
(meters/defmeter [cook-mesos scheduler tasks-killed-in-status-update])
