def split_date_range_into_chunks()

in ees_microsoft_outlook/utils.py [0:0]


def split_date_range_into_chunks(start_time, end_time, number_of_chunks):
    """Divides the timerange in equal partitions by number of chunks
    :param start_time: Start time of the interval
    :param end_time: End time of the interval
    :param number_of_chunks: Number of threads defined into config file for producer process
    """
    start_time = datetime.strptime(start_time, RFC_3339_DATETIME_FORMAT)
    end_time = datetime.strptime(end_time, RFC_3339_DATETIME_FORMAT)

    diff = (end_time - start_time) / number_of_chunks
    datelist = []
    for idx in range(number_of_chunks):
        date_time = start_time + diff * idx
        datelist.append(date_time.strftime(RFC_3339_DATETIME_FORMAT))
    formatted_end_time = end_time.strftime(RFC_3339_DATETIME_FORMAT)
    datelist.append(formatted_end_time)
    return datelist