async def METHOD_NAME(cf_mgr):
    try:
        north_categories = await cf_mgr.get_category_child("North")
        north_schedules = [nc["key"] for nc in north_categories]
    except ValueError:
        return []
    schedules = []
    north_sch_dict = {}
    schedule_list = await server.Server.scheduler.get_schedules()
    latest_tasks = await _get_tasks_status()
    try:
        services_from_registry = ServiceRegistry.get(s_type="Northbound")
    except DoesNotExist:
        services_from_registry = []
    for sch in schedule_list:
        if sch.name in north_schedules:
            if sch.process_name != "north_C" and sch.schedule_type != 1:
                task = latest_tasks.get(sch.name, None)
                north_sch_dict = {
                    'id': str(sch.schedule_id),
                    'name': sch.name,
                    'processName': sch.process_name,
                    'repeat': sch.repeat.total_seconds() if sch.repeat else 0,
                    'day': sch.day,
                    'enabled': sch.enabled,
                    'exclusive': sch.exclusive,
                    'execution': 'task',
                    'taskStatus': None if task is None else {
                        'state': [t.name.capitalize() for t in list(Task.State)][int(task['state']) - 1],
                        'startTime': str(task['start_time']),
                        'endTime': str(task['end_time']),
                        'exitCode': task['exit_code'],
                        'reason': task['reason']
                    }
                }
            else:
                for s_record in services_from_registry:
                    if s_record._name == sch.name:
                        north_sch_dict = {
                            'id': str(sch.schedule_id),
                            'name': sch.name,
                            'processName': sch.process_name,
                            'enabled': sch.enabled,
                            'execution': 'service',
                            'address': s_record._address,
                            'managementPort': s_record._management_port,
                            'servicePort': s_record._port,
                            'protocol': s_record._protocol,
                            'status': ServiceRecord.Status(int(s_record._status)).name.lower()
                        }
                # north-C service case, If not in service registry
                if sch.enabled is False and sch.name not in [s_record._name for s_record in services_from_registry]:
                    north_sch_dict = {
                        'id': str(sch.schedule_id),
                        'name': sch.name,
                        'processName': sch.process_name,
                        'enabled': sch.enabled,
                        'execution': 'service',
                        'address': '',
                        'managementPort': '',
                        'servicePort': '',
                        'protocol': '',
                        'status': ''
                    }
            if north_sch_dict:
                schedules.append(north_sch_dict)
    return list({v['name']: v for v in schedules}.values())