我想制作批量请求,以获取特定广告帐户的广告系列 . 我创建了一个基于this issue的简单代码,但是我知道这个代码是否需要time.sleep(2) . 我的代码如下:

from facebookads import FacebookAdsApi
    from facebookads.api import FacebookRequest
    import pandas as pd
    import time



    batch_body_responses = []
    list_of_artists = [1]


    def success_callback(response):
        try:
            pair = [response.json()['data']]
            next = [response.json()['paging']['next']]

            batch_body_responses.append(pair)
            batch_body_responses.append(next)

        except IndexError:
            pass
        except UnicodeEncodeError:
            pass


    def error_callback(response):
        pass 
    def generate_batches(iterable, batch_size_limit):
    # This function can be found in examples/batch_utils.py
    batch = []

    for item in iterable:
        if len(batch) == batch_size_limit:
            yield batch
            batch = []
        batch.append(item)

    if len(batch):
        yield batch


def get_id_list(art_search_list):

    batches = []
    your_app_id = '756885'
    your_app_secret = '123456789'
    your_access_token = 'EAA.....'
    api = FacebookAdsApi.init(your_app_id, your_app_secret, your_access_token)
    batch_limit = 25
    for batch in generate_batches(art_search_list, batch_limit):
        next_batch = api.new_batch()

        for artt in batch:

            requestss = [FacebookRequest(node_id='act_1234/campaigns',method="GET",endpoint="?fields=id,name")]

            for req in requestss:
                next_batch.add_request(req, success_callback, error_callback)
        batches.append(next_batch)



    for batch_request in batches:
        batch_request.execute()

        time.sleep(2)
    print(batch_body_responses)


    return batch_body_responses

df = pd.DataFrame(get_id_list(list_of_artists))

如何通过不使用全局数组以及如何在没有睡眠语句的情况下执行以及为什么需要睡眠来优化此代码?