async fn backoff(&mut self) {
        if let Some(backoff_and_cancellable) = &mut self.backoff_and_cancellable {
            let backoff_duration = backoff_and_cancellable.backoff.delay();
            tracing::info!("Backing off for {:?}...", backoff_duration);
            // Error here corresponds to a timeout w/o receiving task_wiring cancel; we're OK with this.
            tokio::time::timeout(
                backoff_duration,
                backoff_and_cancellable.cancellation_token.cancelled(),
            )
            .await
            .ok();
        }
    }
Backs off for the specified amount of time or until cancel is received, if available.
prover/crates/lib/prover_job_processor/src/task_wiring/job_picker_task.rs