The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Oчередь задач"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Системное и пользовательское ПО / Linux)
Изначальное сообщение [ Отслеживать ]

"Oчередь задач"  +/
Сообщение от fa email(??) on 28-Июн-13, 13:21 
Всем привет.

Возникла необходимость в софте, реализующем очередь задач. Есть что-нибудь не слишком тяжеловесное?

Вот как я себе это представляю. Несколько процессов добавляют задачи в очередь. Эти задачи выполняются в порядке добавления. Пока предыдущее задание не выполнено, следующее не запускается.

Если вдруг окажется, что софта такого типа навалом, подскажите что-нибудь, что есть в пакетах CentOS.

Заранее спасибо.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Oчередь задач"  +1 +/
Сообщение от Dno on 28-Июн-13, 13:55 
По-моему, это на sh пишется за 20 минут любой обезьяной:
файл-список задач, переменная-флаг что чего-то выполняется, анализ errorlevel выполненной задачи.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Oчередь задач"  +/
Сообщение от fa email(??) on 28-Июн-13, 14:34 
Я вот тоже думал, что любой. Написал. Теперь оно обрасло неимоверным количеством костылей, на которые я боюсь даже дышать.

В файл-список задач могут писать разные процессы одновременно. Значит его нужно лочить/анлочить. Если какой-то процесс не снял лок, больше задачи не поступают. Значит нужно придумывать какой-то мониторинг для принудительного снятия лока, если процесс, который его установил, упал. Нужно вести какой-то лог, где будет видно, когда какие задачи отработали, а какие - нет (например, из-за того, что не дождались освобождения лока).

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

Ко всему вышесказанному надо-бы добавить, что я не уверен, что я уже наступил на все типичные грабли многозадачности и теории очередей. Даже больше, уверен, что новые грабли еще всплывут. Вот и ищу какой-нибудь готовый софт, где об этих граблях уже подумали.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Oчередь задач"  +/
Сообщение от Dno on 28-Июн-13, 14:57 
> Ко всему вышесказанному надо-бы добавить, что я не уверен, что я уже
> наступил на все типичные грабли многозадачности и теории очередей. Даже больше,
> уверен, что новые грабли еще всплывут. Вот и ищу какой-нибудь готовый
> софт, где об этих граблях уже подумали.

Ну не знаю, зато понятно что происходит когда сам напишешь.

Гуглите по словам: linux queue run tasks
Вот например что-то:
http://archive09.linux.com/feature/143901

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Oчередь задач"  +/
Сообщение от lavr email on 28-Июн-13, 15:12 
> Всем привет.
> Возникла необходимость в софте, реализующем очередь задач. Есть что-нибудь не слишком тяжеловесное?
> Вот как я себе это представляю. Несколько процессов добавляют задачи в очередь.
> Эти задачи выполняются в порядке добавления. Пока предыдущее задание не выполнено,
> следующее не запускается.
> Если вдруг окажется, что софта такого типа навалом, подскажите что-нибудь, что есть
> в пакетах CentOS.

про пакеты CentOS не знаю, а Вам нужно поискать:

"linux batch queue system"
"linux queue system"
"linux simple queue system"

> Заранее спасибо.

Разумеется такой софт есть и он ориентирован для использования в вычислительных кластерах
и под распределенные вычисления: системы пакетного вычисления / batch queue system
или проще батч системы

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Oчередь задач"  +/
Сообщение от Sabakwaka (ok) on 29-Июн-13, 01:09 
> Заранее спасибо.

Только так:
http://habrahabr.ru/post/149694/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Oчередь задач"  +/
Сообщение от PavelR (ok) on 29-Июн-13, 08:07 
> Всем привет.
> Возникла необходимость в софте, реализующем очередь задач. Есть что-нибудь не слишком тяжеловесное?
> Вот как я себе это представляю. Несколько процессов добавляют задачи в очередь.
> Эти задачи выполняются в порядке добавления. Пока предыдущее задание не выполнено,
> следующее не запускается.
> Если вдруг окажется, что софта такого типа навалом, подскажите что-нибудь, что есть
> в пакетах CentOS.
> Заранее спасибо.

http://gearman.org/‎ http://habrahabr.ru/post/123451/ ?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Oчередь задач"  +/
Сообщение от pavlinux (ok) on 01-Июл-13, 04:16 
Можно я немного поднасру?!

Если требуется планировщик отличный от системного, то грабли надо искать в своём софте,
потому как два планировщика на один процесс - это весело. А вот с помощью Cgroups можно
изолировать софтину с дочерними процессами в группу, чтоб системный планировщик не
придушил их, если надумает (а он надумает, при большом оверхеде).  

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру