LINUX.ORG.RU

История изменений

Исправление 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 не просто аснихронно выполняет, но еще и выбирает на какой машине это выполнять (в зависимости от параметров)