Здрасте) Появилась задача сделать что-то типа серверного скрипта работающего в фоне на сайте для оповещений, у меня есть база в данных, в ней таблица с полями: id, hour, min; (hour - в 24 часовом формате) Записей может быть огромное количество, как сделать чтобы для каждой записи в свое время вызывалась функция, т.е для записи: 1356, 10, 7; в 10 часов, 7 минут вызвалась функция fucn(1356); Была мысль в бесконечном цикле каждую минуту вытаскивать значения, т.е получать час, минуту и искать по бд, если есть совпадения, выводить. Но это будет очень затратно в плане ресурсов, как можно сделать это оптимизировано?
Я понимаю, что у вас МНОГО мелких действий которые генерируются автоматически. Если НЕТ - используйте CRON.
Метод с демоном (гарантированное выполнение в срок):
- проверка роботы демона при запросе к серверу от любой страницы еcли демон не работает запускаем.
- демон читает с базы следующую метку времени и ждет её наступления;
- при достижении срока читает следующую метку времени;
- выполняет нужное действие;
- проверяет не прошла ли следующая метка времени;
Метод без демона (гарантированное выполнение):
- метод запускается при запросе от пользователя например в index.php, или настройте предзагрузку модуля в .htaccess;
- читаем с базы значение последнего обновления и список всего что нужно сделать до текущего момента;
- запускаем дествия асинхронно/синхронно как удобно;
спасибо) Такой вопрос появился, я запускаю демона в браузере, он работает отлично, все выводит, претензий нет. Не ошибок, ни чего. Запускаю этот же скрипт в фоне на сервере (к слову второй) и он отказывается работать, не выдает не ошибок, ничего процесс работает, а скрипт не выполняется. Почему не пойму. Может сталкивались с этим?