Я новичок в многопроцессорной обработке Python.
В настоящее время у меня есть следующие настройки:
для каждого цикла:
- получать данные из webpage_1 API
- получение данных при очистке webpage_2
- выполнение сравнения и анализа данных
- сохранение переменных в файлы (например, файл Excel)
Я хотел бы изменить это, чтобы иметь 4 различных процесса:
scraper
- будет выполняться реже, чем API, скажем, каждые 10 минут ( процесс очистки занимает ~ 1 мин)
- вернет данные как Pandas фрейм данных
выборка данных API
- будет работает постоянно, то есть, как только он заканчивается, он начинается снова с начала (один цикл занимает ~ 30 сек c)
- вернет данные в виде Pandas датафрейм
- Сравнение и анализ данных
- практически, должен запускаться каждый раз, когда при извлечении данных API процесс обновления данных.
- это комп арс и манипулирует с фреймами данных, полученными из 1. и 2. process
- возвращает обработанные данные как Pandas dataframe
- возвращает архив данных, который содержит обработанные данные каждого цикла, добавленные к предыдущим данным
- сохранение переменных в файлы
- должно запускаться каждый раз 3. процесс возвращает результаты
- возможно, что запись этих файлов еще продолжается в то время процесс 3. запускает новый цикл.
Я бродил бы все описанное выше возможно? Если так:
- как синхронизировать c процессы 2. и 3. таким образом, чтобы процесс 3. знал, когда процесс 2. обновил свои результаты?
- тот же вопрос для процессы 3. и 4.
- могло ли случиться, что процесс 2. запускает процесс 3. с данными fre sh, но процесс 1. только возвращает свои новые данные?