Я ищу легкий менеджер очереди задач для linux. На мой взгляд, разные процессы должны отправлять задачи в очередь, администратор очередей будет выполнять их один за другим в порядке отправки.
Есть ли какое-нибудь программное обеспечение, которое это делает? Я посмотрел на сельдерей и джеман, но они слишком тяжелы для моей задачи.
За исключением диспетчера очереди задач, я буквально не нашел ничего, что могло бы удовлетворить эту потребность. Tsp великолепен, но я не всегда могу скомпилировать или установить на каждом сервере, на котором мне приходится работать.
Некоторое время я боролся с этим, и после 3 итераций (фактически, начиная от более сложного до менее), я придумал чистую реализацию bash, которая, похоже, пока работает нормально. Вы можете найти это на https://github.com/sitaramc/bq.
Bq использует тот факт, что в Unix «mv» (в той же файловой системе) является атомарной операцией для всех своих блокировок.
Это всего лишь один сценарий bash, поэтому установка проста.
Сценарий содержит множество комментариев, и вы сможете просмотреть его через несколько минут, если захотите.
Раньше я использовал Berkely lpd для этого (до чашки это была система печати по умолчанию для Linux). Хотя управление очередью реализовано в виде скомпилированного демона, интерфейс принтера представляет собой простой сценарий оболочки (обычно оболочку для ghostview).
Он очень стабилен и предоставляет инструменты для управления очередями.
batch
выполняет команды, когда это позволяют уровни загрузки системы.
Может, «у» уже сможет решить вашу задачу?
Я сейчас использую GNU Parallel для запуска таких пакетов, что дает то преимущество, что я могу использовать все машины, к которым у меня есть доступ одновременно. Однако мне нужно иметь возможность разделять ресурсы выполнения между разными пользователями и улучшать отчетность.