def METHOD_NAME(uris):
    """Returns a mapping of uris: tags and a list of failed uris"""
    result = {}
    failed = []
    try:
        pool = multiprocessing.Pool(PROCESSES)
        for i, (uri, tags) in enumerate(pool.imap_unordered(get_tags, uris)):
            print("%d/%d " % (i+1, len(uris)) + uri + " -> ", end="")
            if tags:
                result[uri] = tags
                print("OK: ", len(tags))
            else:
                print("FAILED")
                failed.append(uri)
    except:
        pass
    finally:
        pool.terminate()
        pool.join()
    return result, failed