                       ledger-ids))
         (update :lifecycles 
                 into 
-                (mapv (fn [task]
-                        {:lifecycle/task task
-                         :lifecycle/calls :onyx.plugin.bookkeeper/read-ledgers-calls})
-                      read-ledger-task-names)))))
+                (mapcat (fn [task]
+                          [{:lifecycle/task task
+                            :lifecycle/calls ::restart-calls}
+                           {:lifecycle/task task
+                            :lifecycle/calls :onyx.plugin.bookkeeper/read-ledgers-calls}])
+                        read-ledger-task-names)))))
 
 (defn build-job [job-num {:keys [batch-size] :as params} zk-addr ledgers-root-path ledger-ids]
   (let [password (.getBytes "INSECUREDEFAULTPASSWORD")

                        :onyx/plugin :onyx.plugin.bookkeeper/write-ledger
                        :onyx/type :output
                        :onyx/medium :bookkeeper
                        :onyx/restart-pred-fn :onyx-peers.functions.functions/restartable?
                        :bookkeeper/serializer-fn :onyx.compression.nippy/zookeeper-compress
                        :bookkeeper/password-bytes password
                        :bookkeeper/ensemble-size 3

                         :bookkeeper/deserializer-fn :onyx.compression.nippy/zookeeper-decompress
                         :bookkeeper/password-bytes password 
                         :bookkeeper/no-recovery? true
                         :onyx/max-peers 1
                         :onyx/batch-size batch-size
                         :onyx/doc "Reads a sequence from a BookKeeper ledger"})
