Учитывая наличие обычного ПК, мы хотели бы использовать его для круглосуточного выполнения некоторых задач в фоновом режиме.
По сути, мы хотели бы иметь такие команды, как:
add-task *insert command here*
list-tasks
remove-task(s)
Добавленные задачи должны просто помещаться в очередь и выполняться одна за другой в фоновом режиме (продолжая работать после выхода из оболочки).
Есть ли простой скрипт / программа, которая делает это?
process
process-management
scheduling
dagnelies
источник
источник
batch
команда «не выполняет распараллеливание». Обычно между стартом одной работы и следующей начинается задержка в 60 секунд; однако нет ничего, что заставляло бы следующее задание ждать завершения первого - оно сatd
радостью удалит задания из очереди пакета, как только истечет значение, заданное-b
параметром (см.atd
справочную страницу).Другим решением является использование
lpd
и создание собственного «драйвера печати», который запускает ваши задания. Друг помог мне разобраться, когда у меня была похожая просьба. Сделайте такой скрипт и вставьте его в/tmp/batch.sh
:Затем запустите:
Это запускает очередь, и вы можете создать больше, используя другие имена вместо batch1. Добавить работу с:
Управление заданий с
lpq
,lprm
иlpstat
. Если вам нужна большая гибкость при передаче аргументов вашим рабочим местам, вы можете сделать скрипт batch.sh более привлекательным.(Я пробовал,
batch
прежде чем идти по этому пути, но либо он не работает как очередь в OSX, либо я использовал его неправильно.)источник
batch
.Существует множество систем массового обслуживания, но зачастую они очень специализированы.
Вы можете посмотреть в
at
планировщик. Вcron
некотором смысле это похоже на очередь для однократных заданий, а не для повторных. Он может «планировать» вещи по критериям, отличным от времени, таким как загрузка системы или последовательность заданий.Ваш любимый дистрибутив почти наверняка будет иметь пакеты для него.
источник
Я заметил, что этому вопросу уже несколько лет, поэтому он может не помочь оригинальному постеру, но может помочь кому-то еще.
Первое: «диспетчер задач» - это ответ. Он довольно мощный, и, по крайней мере, у Fedora.
Но на многих серверах, которые я использую, я не могу устанавливать произвольные пакеты без особых хлопот, поэтому мне нужно что-то идеально идеально bash (или perl, или такой).
Поработав с этим некоторое время, я пришел к чистой реализации bash, которая до сих пор работала нормально. Вы можете найти его по адресу https://github.com/sitaramc/bq .
Это всего лишь один сценарий bash, поэтому установка тривиальна. Тем не менее, это накладывает на ваши вторые и третьи требования (но это тоже должно быть тривиально).
Сценарий подробно прокомментирован, и вы сможете просмотреть его через несколько минут, если хотите.
источник