Exceptions thrown in pre_run will cause close to be called on service objects