Как синхронизировать c несколько параллельных процессов и запускать их в al oop в Python? - PullRequest
0 голосов
/ 14 марта 2020

В настоящее время у меня такая ситуация:

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 запускать после каждого запуска сравнения_данных.
...