code: def make_redis_params(
      file_path: str,
      unique_id: Optional[str],
      redis_host: Optional[str] = None,
      redis_port: Optional[int] = None,
      redis_timeout: Optional[int] = None,
      raise_task_lock_exception_on_collision: bool = False,
      lock_extend_seconds: int = 10,
  ):
      redis_key = make_redis_key(file_path, unique_id)
      should_redis_lock = (
          redis_host is not None and redis_port is not None
      )
      if redis_timeout is not None:
          assert (
              redis_timeout > lock_extend_seconds
          ), f"`redis_timeout` must be set greater than lock_extend_seconds:{lock_extend_seconds}, not {redis_timeout}."
      redis_params = RedisParams(
          redis_host=redis_host,
          redis_port=redis_port,
          redis_key=redis_key,
          should_redis_lock=should_redis_lock,
          redis_timeout=redis_timeout,
          raise_task_lock_exception_on_collision=raise_task_lock_exception_on_collision,
          lock_extend_seconds=lock_extend_seconds,
      )
      return redis_params
  
imports: import functools
  import os
  from logging import getLogger
  from typing import Callable, NamedTuple, Optional
  import redis
  from apscheduler.schedulers.background import BackgroundScheduler
label_desc: Use image node_id 10 for calling a global function with example usage: make_redis_params(file_path, unique_id, redis_host, redis_port, redis_timeout, raise_task_lock_exception_on_collision, lock_extend_seconds) and returns: redis_params