pub fn make_worker<Fut1, Fut2>(
pg_pool: Pool,
redis_pool: Pool,
token: CancellationToken,
stop_check_duration: Duration,
task_function: impl Fn(DateTime<Utc>, Result<Client, PoolError>, Result<Connection, PoolError>, CancellationToken) -> Fut1 + Send + Sync + 'static,
stop_function: impl Fn(Result<Client, PoolError>, Result<Connection, PoolError>) -> Fut2 + Send + Sync + 'static,
) -> JoinHandle<()>