async def METHOD_NAME(websocket, worker_id, worker_config, worker_session_id):
    async with deps.manual_create_session() as session:
        should_check = await should_do_compliance_check(session, worker_id)
    if should_check:
        logger.info(f"Worker {worker_id} needs compliance check")
        try:
            await worker_utils.update_worker_session_status(
                worker_session_id, worker_utils.WorkerSessionStatus.compliance_check
            )
            await run_compliance_check(websocket, worker_id, worker_config)
        finally:
            await worker_utils.update_worker_session_status(worker_session_id, worker_utils.WorkerSessionStatus.waiting)