def METHOD_NAME(options, scan_unique_id):
    if not options.targets:
        info(messages("no_live_service_found"))
        return True
    number_of_total_targets = len(options.targets)
    options.targets = [
        targets.tolist() for targets in numpy.array_split(
            options.targets,
            options.set_hardware_usage if options.set_hardware_usage <= len(options.targets)
            else number_of_total_targets
        )
    ]
    info(messages("removing_old_db_records"))
    from database.db import remove_old_logs
    for target_group in options.targets:
        for target in target_group:
            for module_name in options.selected_modules:
                remove_old_logs(
                    {
                        "target": target,
                        "module_name": module_name,
                        "scan_unique_id": scan_unique_id,
                    }
                )
    for _ in range(options.targets.count([])):
        options.targets.remove([])
    active_processes = []
    info(
        messages("start_multi_process").format(
            number_of_total_targets,
            len(options.targets)
        )
    )
    process_number = 0
    for targets in options.targets:
        process_number += 1
        process = multiprocessing.Process(
            target=parallel_scan_process,
            args=(options, targets, scan_unique_id, process_number,)
        )
        process.start()
        active_processes.append(process)
    return wait_for_threads_to_finish(active_processes, sub_process=True)