diff --git a/python/bullmq/utils.py b/python/bullmq/utils.py index d60693fdb80..a0a039b22ab 100644 --- a/python/bullmq/utils.py +++ b/python/bullmq/utils.py @@ -1,15 +1,18 @@ +import asyncio import json import traceback -from typing import Any +from typing import Any, Callable import semver -def isRedisVersionLowerThan(current_version, minimum_version): +def isRedisVersionLowerThan(current_version: str | None, minimum_version: str) -> bool: + if current_version is None: + return False return semver.Version.parse(current_version).compare(minimum_version) == -1 -def extract_result(job_task, emit_callback): +def extract_result(job_task: asyncio.Future[Any], emit_callback: Callable[[str, Any], None]) -> Any: try: return job_task.result() except Exception as e: @@ -19,9 +22,10 @@ def extract_result(job_task, emit_callback): traceback.print_exc() emit_callback("error", e) -def get_parent_key(opts: dict[str, str]): +def get_parent_key(opts: dict[str, str] | None) -> str | None: if opts: return f"{opts.get('queue')}:{opts.get('id')}" + return None def parse_json_string_values(input_dict: dict[str, str]) -> dict[str, dict]: return {key: json.loads(value) for key, value in input_dict.items()}