The OpenNET Project / Index page

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

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

"Очередь периодических задач на сервере "  +/
Сообщение от spanasik email(ok) on 28-Сен-12, 19:50 
Приветствую !

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

Проблема в том, что он отрабатывает за разное время, поэтому, например, если мы запускаем 4 экземпляра скрипта в 12.00, а следующие 4 экземпляра в 18.00 - не факт, что те, которые запущены в 12.00, закончили работу.

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

Есть ли какой-то инструмент, чтобы каждый момент времени работало скажем не более 4 рабочих процессов, и запускались новые по очереди с определёнными параметрами ? Или надо писать своё что-то на основе gearman например ? Я думал, что есть готовый инструмент, но не могу найти.

Решение с makefile -j, которое описано тут http://stackoverflow.com/questions/463963/parallel-processin..., непонятно как поставить на поток.

С уважением, Стас

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

Оглавление

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


1. "Очередь периодических задач на сервере "  +/
Сообщение от suslic (ok) on 28-Сен-12, 23:33 
>[оверквотинг удален]
> Сам по себе скрипт работает очень хорошо, как надо, проблема в том,
> чтобы как-то организовать пул или очередь, чтобы не запускать новые экземпляры,
> пока работают старые.
> Есть ли какой-то инструмент, чтобы каждый момент времени работало скажем не более
> 4 рабочих процессов, и запускались новые по очереди с определёнными параметрами
> ? Или надо писать своё что-то на основе gearman например ?
> Я думал, что есть готовый инструмент, но не могу найти.
> Решение с makefile -j, которое описано тут http://stackoverflow.com/questions/463963/parallel-processin...,
> непонятно как поставить на поток.
> С уважением, Стас

А создавать /var/run/proccess1.pid и проверять по ним запущен ли процес не вариант ?

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

2. "Очередь периодических задач на сервере "  +/
Сообщение от spanasik email(ok) on 28-Сен-12, 23:36 
чем возиться с пидами, проще написать код мини-шедулера, а хотелось бы что-то готовое и проверенное

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

3. "Очередь периодических задач на сервере "  +/
Сообщение от suslic (ok) on 28-Сен-12, 23:53 
> чем возиться с пидами, проще написать код мини-шедулера, а хотелось бы что-то
> готовое и проверенное

http://sourceforge.net/projects/sh-mutex/

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

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

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




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

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