Исправление pumpurumer, (текущая версия) :
хочу что-то вроде:
задание: период времени, место
список_файлов = []
цикл по времени, квант 4 часа:
урла = await(any_worker) ПолучиУрлуДляСкачки(период)
список_файлов += await(dl_worker) СкачайПоУрле(урла)
целевойФайл = await(cpu_worker) СклейФайлы(список_файлов)
целевойФайл = await(cpu_worker) СнижениеFPS(целевойФайл)
для каждой области цикл:
await(gpu_worker) РасчитайПоказателиПоОбласти(целевойФайл, область)
вот эту логику хочу в одном месте держать.
сейчас это написанно так:
Задание_ПолучиУрлуДляСкачи()
получаем_пачку_урлов
создаем_пачку_заданий_на_скачку
создаем_задание_проверки_что_все_скачалось
Задание_скачки()
качаем_что_нам_сказали_в_файл
Задание_проверки_скачки()
Проверяем_что_все_скачали
Если не_скачали: создаем_задание_проверки_что_все_скачалось
Иначе: создаем_задание_на_склейку
т.е. не хочу размазывать логику последовательности выполнения заданий. как будно await не просто аснихронно выполняет, но еще и выбирает на какой машине это выполнять (в зависимости от параметров)
celery - начал смотреть
ci - там нет удобной передачи параметров между заданиями. и тут вопрос о сотнях экземплярах одной цепочки.
цепочек разных - примерно 10.
и между цепочками - переиспользование кода.
Исправление pumpurumer, :
хочу что-то вроде:
задание: период времени, место
список_файлов = []
цикл по времени, квант 4 часа:
урла = await(any_worker) ПолучиУрлуДляСкачки(период)
список_файлов += await(dl_worker) СкачайПоУрле(урла)
целевойФайл = await(cpu_worker) СклейФайлы(список_файлов)
целевойФайл = await(cpu_worker) СнижениеFPS(целевойФайл)
для каждой области цикл:
await(gpu_worker) РасчитайПоказателиПоОбласти(целевойФайл, область)
вот эту логику хочу в одном месте держать.
сейчас это написанно так:
Задание_ПолучиУрлуДляСкачи()
получаем_пачку_урлов
создаем_пачку_заданий_на_скачку
создаем_задание_проверки_что_все_скачалось
Задание_скачки()
качаем_что_нам_сказали_в_файл
Задание_проверки_скачки()
Проверяем_что_все_скачали
Если не_скачали: создаем_задание_проверки_что_все_скачалось
Иначе: создаем_задание_на_склейку
т.е. не хочу размазывать логику последовательности выполнения заданий. как будно await не просто аснихронно выполняет, но еще и выбирает на какой машине это выполнять (в зависимости от параметров)
celery - начал смотреть ci - там нет удобной передачи параметров между заданиями. и тут вопрос о сотнях экземплярах одной цепочки. цепочек разных - примерно 10. и между цепочками - переиспользование кода.
Исходная версия pumpurumer, :
хочу что-то вроде:
задание: период времени, место
список_файлов = []
цикл по времени, квант 4 часа:
урла = await(any_worker) ПолучиУрлуДляСкачки(период)
список_файлов += await(dl_worker) СкачайПоУрле(урла)
целевойФайл = await(cpu_worker) СклейФайлы(список_файлов)
целевойФайл = await(cpu_worker) СнижениеFPS(целевойФайл)
для каждой области цикл:
await(gpu_worker) РасчитайПоказателиПоОбласти(целевойФайл, область)
вот эту логику хочу в одном месте держать.
сейчас это написанно так:
Задание_ПолучиУрлуДляСкачи()
получаем_пачку_урлов
создаем_пачку_заданий_на_скачку
создаем_задание_проверки_что_все_скачалось
Задание_скачки()
качаем_что_нам_сказали_в_файл
Задание_проверки_скачки()
Проверяем_что_все_скачали
Если не_скачали: создаем_задание_проверки_что_все_скачалось
Иначе: создаем_задание_на_склейку
т.е. не хочу размазывать логику последовательности выполнения заданий. как будно await не просто аснихронно выполняет, но еще и выбирает на какой машине это выполнять (в зависимости от параметров)