Skip to content

Ct log

get_last_log_message(redis_key_status)

Retrieves the last log message from a Redis list.

Parameters:

Name Type Description Default
redis_key_status str

The Redis key pointing to the list of log messages.

required

Returns:

Type Description

str or None: The last message in the Redis list, or None if the list is empty.

Source code in controller/ct_log.py
30
31
32
33
34
35
36
37
38
39
40
41
42
def get_last_log_message(redis_key_status: str):
    """
    Retrieves the last log message from a Redis list.

    Args:
        redis_key_status (str): The Redis key pointing to the list of log messages.

    Returns:
        str or None: The last message in the Redis list, or None if the list is empty.
    """

    last_message = REDIS_CLIENT.lindex(redis_key_status, -1)
    return last_message

log_and_store(message, config)

Logs a message and stores it in a Redis list with a timestamp.

Parameters:

Name Type Description Default
message str

The message to be logged and stored.

required
config AppConfig

An application configuration object containing user, task, and analysis details.

required

Returns:

Type Description

None

Source code in controller/ct_log.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def log_and_store(message: str, config: AppConfig):
    """
    Logs a message and stores it in a Redis list with a timestamp.

    Args:
        message (str): The message to be logged and stored.
        config (AppConfig): An application configuration object containing user, task, and analysis details.

    Returns:
        None
    """

    redis_key_status = f"status:{config.user}:{config.task_id}:{config.type_of_analysis}"
    timestamp = datetime.now().isoformat()
    logger.info(message)
    REDIS_CLIENT.rpush(redis_key_status, f"{message} at {timestamp}")