pub async fn run_recorded_task_iteration<Name, State, TaskFn, TaskFut, PanicFn, RecordFn, RecordFut, Outcome>(
name: Name,
task_name: &'static str,
state: State,
task_fn: &TaskFn,
panic_outcome: &PanicFn,
record_outcome: &RecordFn,
)where
Name: Copy + Send + 'static,
State: Clone + Send + Sync + 'static,
TaskFn: Fn(State) -> TaskFut + Send + Sync + 'static,
TaskFut: Future<Output = Outcome> + Send,
PanicFn: Fn(String) -> Outcome + Send + Sync + 'static,
RecordFn: Fn(State, Name, DateTime<Utc>, DateTime<Utc>, Outcome) -> RecordFut + Send + Sync + 'static,
RecordFut: Future<Output = ()> + Send,
Outcome: Send + 'static,Expand description
Runs one panic-protected task iteration and records its outcome.