LINUX.ORG.RU

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


0

0

Здраствуйте. Вот что хочу сделать: есть вектор(массив) заданий. В задании есть поля час, минута, секунда. Пример ч=0, м=5, с =0 . Т.е. запускать каждые 5 минут. Единственное до чего я додумался : хранить еще одно поле последнего времени опроса , и взяв текущее время отнимать от него последнее время опроса и если разница больше или равна чем период опроса то запускать задачу и в поле "последнее время опроса" записывать текущую дату . И т.д. Мне алгоритм кажется "некрасивым" и избыточным. Помогите оптимизировать. Спасибо.

anonymous

Re: Алгоритм запуска заданий по времени

глянь исходники крона или ат (cron[d] at[d] )

anonymous ()

Re: Алгоритм запуска заданий по времени

зачем так то? ИМХО проще создать некий счетчик - величину его рассчитать в зависимости от частоты запуска процесса - когда он обнуляеться пускаешь процесс и снова выставляешь счетчик и не надо хранить последнее время запуска.

alphex_kaanoken ★★★ ()
Ответ на: Re: Re: Алгоритм запуска заданий по времени от anonymous

Re: Re: Re: Алгоритм запуска заданий по времени

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

а по другому как? не конечно можно к примеру брать время и смотреть - допустим каждые пять минут надо запукать процесс - следовательно и запускаешь в 0 5 10 15 и тд минут - ф-ция что это высчитывает довольна простая - другой метод предложить не могу.

alphex_kaanoken ★★★ ()

Re: Алгоритм запуска заданий по времени

может очередь с приоритетами тебе нужна?

dilmah ★★★★★ ()
Ответ на: Re: Re: Алгоритм запуска заданий по времени от anonymous

Счётчик

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

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

DKorolkov ()
Ответ на: Счётчик от DKorolkov

Re: Счётчик

Спасибо всем большое ... остановлюсь пока на варианте "счетчика".

anonymous ()
Ответ на: Re: Счётчик от anonymous

Re: Re: Счётчик

а крон вроде не ровно через 5 или еще сколко минут работает, а в 12:15,12:20, по крайней мере у меня он так работает

no1sm ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.