async def METHOD_NAME(
    app: web.Application, message: ProgressRabbitMessageNode
) -> SocketMessageDict | None:
    try:
        project = await projects_api.get_project_for_user(
            app, f"{message.project_id}", message.user_id
        )
        if f"{message.node_id}" in project["workbench"]:
            # update the project node progress with the latest value
            project["workbench"][f"{message.node_id}"].update(
                {"progress": round(message.progress * 100.0)}
            )
            return SocketMessageDict(
                event_type=SOCKET_IO_NODE_UPDATED_EVENT,
                data={
                    "project_id": message.project_id,
                    "node_id": message.node_id,
                    "data": project["workbench"][f"{message.node_id}"],
                },
            )
        _logger.warning("node not found: '%s'", message.dict())
    except ProjectNotFoundError:
        _logger.warning("project not found: '%s'", message.dict())
    return None