Sharfik писал(а):Но надо чтобы она в 00:00 часов повторила это действо, если ее не выключали.
А если это действо занимает минуту, при этом (уж наверное и не важно когда) будет добавлено задание, которое должно выполнится через пару секунд после добавления?
Поэтому наверное массив - худший вариант хранения.
Или хеширование или еще что-то. Нужно проверить тормознутость каждого варианта.
1) Хеширование со списками
2) XML Лазаруса
3) СУБД
1, 2 "всю" базу при запуске грузить в хэш или XML. (Или не всю, а что необходимо.).
XML для каждого времени (в секундах) свой узел, а в нем узлы заданий для этого времени. Бинарный поиск легко. Вставка нового задания легко (предварительно поискав нужный узел, вставить новый узел времени или добавить в существующий).
Наверняка лучшим будет вариант самой СУБД.
Создает индекс так же используя похожие методы:
1) хэширование (или В-деревья), поиск бинарный
2) использование кластерного индекса, похоже на использование XML Лазаруса (узлы уже изначально упорядочены).
http://habrahabr.ru/post/141767/Если СУБД может работать с кластерным индексом, то использовать СУБД, иначе XML Лазаруса.
з.ы. Насчет СУБД у меня только теория
