В настоящее время у меня такая ситуация:
import concurrent.futures
executor = concurrent.futures.ThreadPoolExecutor(max_workers=4)
# get data1
data1_future = executor.submit(get_data1)
# get data2
data2_future = executor.submit(get_data2)
data1_df = data1_future.result()
data2_df = data2_future.result()
# compare data
compared_data_future = executor.submit(compare_data, data1_df, data2_data)
compared_data_df = compared_data_future.result()
# store output data to disk
executor.submit(store_data, compared_data_df, output_dir)
Это нормально работает для одного прогона, но я бы хотел, чтобы все работало в al oop, чтобы:
- данные 1 отбираются каждые n минут
- данные 2 отбираются, как только выполняется предыдущая выборка данных 1
- сравнение_данных запускается после каждой выборки данных 2
- store_data запускать после каждого запуска сравнения_данных.