Есть сайт доска объявлений. Пользователь, который размещает объявления, может в ЛК нажать на кнопку "поднять" и дата обновления объявление изменяется, и оно перемещается в самый верх списка объявлений.
Есть также кнопка "автоподнятие". При клике на нее, должен срабатывать скрипт, который будет автоматически, каждые 3 часа, поднимать объявление.
Если использовать крон с интервалом выполнения "каждый час", то в этом смысла не будет.
Например в 12:01:38 должна подняться реклама. Фактически она будет подниматься в 13:00, 14:00 и т.д.
Т.е. как бы первое автоподнятие срабатывает с погрешностью в час, а все остальные автоподнятия приравниваются к времени запуска скрипта.
Но это нас не устроит, т.к. в указанное время будут одновременно подниматься все объявления, которые стоят на автоподнятии.
Соответственно толку от такого автоподнятия - никакого.
А нужно сделать так, чтобы каждое объявление поднималось именно в свое указанное время. Желательно вплоть до секунд.
(Добавление)
Вариант который нашел в интернете - запустить скрипт через консоль командой nohup с & на конце предложения.
При этом внутри скрипта написать зацикливание с задержкой в секунду.
Подвергает сомнению лишь то, на сколько это загрузит сервак? Это приемлемый выход? Так вообще делают или есть более гуманный (для сервера) способ?
p.s. И еще не нашел инфы, что будет если перезагрузить сервер? Скрипт автоматически запуститься или его надо будет снова запустить в ручную через nohup? (Отредактировано автором: 12 Декабря, 2015 - 10:49:41)
|