Как иметь несколько параллельных процессов в python: сбор данных, обработка данных и запись переменных в файлы - PullRequest
0 голосов
/ 11 марта 2020

Я новичок в многопроцессорной обработке Python.

В настоящее время у меня есть следующие настройки:

для каждого цикла:

  • получать данные из webpage_1 API
  • получение данных при очистке webpage_2
  • выполнение сравнения и анализа данных
  • сохранение переменных в файлы (например, файл Excel)

Я хотел бы изменить это, чтобы иметь 4 различных процесса:

  1. scraper

    • будет выполняться реже, чем API, скажем, каждые 10 минут ( процесс очистки занимает ~ 1 мин)
    • вернет данные как Pandas фрейм данных
  2. выборка данных API

    • будет работает постоянно, то есть, как только он заканчивается, он начинается снова с начала (один цикл занимает ~ 30 сек c)
    • вернет данные в виде Pandas датафрейм
  3. Сравнение и анализ данных
    • практически, должен запускаться каждый раз, когда при извлечении данных API процесс обновления данных.
    • это комп арс и манипулирует с фреймами данных, полученными из 1. и 2. process
    • возвращает обработанные данные как Pandas dataframe
    • возвращает архив данных, который содержит обработанные данные каждого цикла, добавленные к предыдущим данным
  4. сохранение переменных в файлы
    • должно запускаться каждый раз 3. процесс возвращает результаты
    • возможно, что запись этих файлов еще продолжается в то время процесс 3. запускает новый цикл.

Я бродил бы все описанное выше возможно? Если так:

  1. как синхронизировать c процессы 2. и 3. таким образом, чтобы процесс 3. знал, когда процесс 2. обновил свои результаты?
  2. тот же вопрос для процессы 3. и 4.
  3. могло ли случиться, что процесс 2. запускает процесс 3. с данными fre sh, но процесс 1. только возвращает свои новые данные?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...