def main(algo, count):
    p = Producer()
    c = Client()
    interval = traffic_frequency

    c.describe_topic(topic_name)
    c.describe_consumer_group(group_name)
    for i in range(interval):
        transaction_list = p.read_transaction_list()
        count1 = count % len(transaction_list)
        transaction = int(transaction_list[count1])
        if workload_type == "fix":
            transaction = transaction_value
        message_count = traffic_ratio * int(transaction/interval)

        start_time = time.time()
        producer_info = p.producer_per_test(topic_name, message_count)
        end_time = time.time()
        time_diff = end_time - start_time
        print "producers take %s time " % time_diff
        p.write_latency(algo, producer_info)
        # output = c.describe_consumer_group(group_name)
        # print output

        duration = int(60/interval)
        for i in range(int(duration)):
            p.wait_time(1)
            inter_end_time = time.time()
            if inter_end_time - start_time >= duration:
                break
def read_transactions():
    message_list = []
    p = Producer()
    transaction_list = p.read_transaction_list()
    for i in range(traffic_interval):
        for j in range(traffic_frequency):
            transaction = int(transaction_list[i]/traffic_frequency)
            message = transaction * traffic_ratio
            message_list.append(message)
    return message_list