LINUX.ORG.RU

Есть ли программа для очереди заданий?

 


0

3

Нужно ставить задания, назначать лимиты, что бы задания выполнялись не выходя за них, и выполнялись не все сразу, а тоже с настройками на ограничение, что бы можно было задать пользователя для задания, и после добавления в очередь, добавить к существующему заданию, еще одно задание, которое будет выполнятся если первое завершилось с ошибкой, или наоборот, если первое завершилось успешно.

Писать сам это не собираюсь, хотелось бы что то не васянское, может systemd такое уже умеет?

★★★★★

Звучит как CI/CD.

anonymous
()

По описанию смахивает на slurm

grem ★★★★★
()

Можно, конечно, попытаться собрать нечто такое из at/batch, systemd-run и какой-то матери.

Rootlexx ★★★★★
()
Ответ на: комментарий от no-such-file

Что то типа JCL+JES. Надо посмотреть что умеют AirFlow + slurm. Реальной задачи у меня нету.

MOPKOBKA ★★★★★
() автор топика
Последнее исправление: MOPKOBKA (всего исправлений: 1)

batch [-m] [-f file] [-q queue] [timespec]

Executes commands when system load levels permit. In other words, when the load average drops below 1.5, or the value specified in the invocation of cron(8).

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

Тебе шашечки или ехать?

Вообще, постановка задачи очень напоминает то, чем собственно ядро и шел и занимаются. Запустить задачу, распределить ресурсы. Подождать результата…

beastie ★★★★★
()
Ответ на: комментарий от beastie

Если запустить задачу, она на удивление сразу и запустится, и в итоге линукс зависнет от недостатка памяти, я же хочу очередь которая будет ждать завершения предыдущих, и запускать программу только когда память освободилась, ну это одна из хотелок. Просто считать количество задач не получится, ведь они разные бывают, какая то больше памяти требует, какая то меньше.

MOPKOBKA ★★★★★
() автор топика
Последнее исправление: MOPKOBKA (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

в итоге линукс зависнет от недостатка памяти

Для этого есть nice

Быстрый гуглёж по «linux batch processing» выдал например вот это: batchd: Batch processing toolset for Linux / Unix – шо оно такое и с чем его едят – IDK, но выглядит обещающе.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от MOPKOBKA

но это что то совсем примитивное.

Тебе и нужно примитивное

anonymous
()
Ответ на: комментарий от MOPKOBKA

Если запустить задачу, она на удивление сразу и запустится, и в итоге линукс зависнет от недостатка памяти

Звона как. А вы не высокого мнения, по факту.

и запускать программу только когда память освободилась

Обычно хотят «runonce» защиту (дабы не форкать таски если предыдущая всё ещё ранается), пишется тривиально.

bugfixer ★★★★★
()
Ответ на: комментарий от MOPKOBKA

Занесу немного смузи в тему.

Может docker compose? ограничение ресурсов средствами докера, порядок задач можно в compose прописать, но оно там не особо хорошо работает, придется покостылить в endpoint файлах

Kolins ★★★★★
()
Последнее исправление: Kolins (всего исправлений: 1)
Ответ на: комментарий от beastie

в итоге линукс зависнет от недостатка памяти

Для этого есть nice

Но это же про ресурсы процессора? А выделить память оно может и в первый ход.

MOPKOBKA ★★★★★
() автор топика
Последнее исправление: MOPKOBKA (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

А для этого ulimits.

Оно всё уже есть. Надо только собрать в кучку.

beastie ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.