Есть сайт газеты, которая выходит еженедельно в субботу.
В шапке красуется дата выпуска последнего номера.
Как сделать так, чтобы каждую субботу дата обновлялась?
Если не надо проверять, действительно ли выпуск в прошлую/текущую субботу уже был,
а просто менять дату на текущую или последнюю субботу, то в шапку сайта вставить:
Если на сайте есть админка и каждую неделю редактор делает пост газеты, то правильнее просто привязать к добавлению поста сразу и обновление даты в шапке, тогда и cron не понадобится.
ThunderCat: Что создаёт меньшую нагрузку на сервер, раз в неделю выполнить задачу, что и требуется изначально, или выполнять функцию каждое обращение к серверу, которых может быть очень много на посещаемых ресурсах?
Юрий Есин: Ничего не создает нагрузку, за исключением неверно построенного процесса, в частности использования крон вместо стандартных функций. Крон внешний инструмент, со своими правами, лезть в него еще и не всем можно, молчу о том что есть 20% хостингов на винде. И да, нет смысла писать скрипт с запросом к крону от системы, где достаточно одной строки с date(); И так же нет смысла в корн пихать скрипт который будет удалять / менять запись в бд, правильнее проверить при выборке дату в запросе.
Юрий Есин: На спичках экономим? А поддерживать что проще? Однострочник, который стабильно будет переноситься при любых переносах кодовой базы, или кронтаб, который еще непонятно что будет делать.
Писать нужную строчку в базу? Вся экономия рушится на необходимости делать дополнительный запрос.
Править страницу, заменяя старую строку на новую? Еще больший мрак, как минимум контроль версий будет крайне несчастен.
ThunderCat: Я спорить с вами не буду на эту тему, т.к. реально спорный вопрос и это может надолго затянуться. Здесь положительный момент в том, что вряд ли у данного сайта многомиллионная посещаемость и высокая нагрузка на серверсайд, а сама процедура проверки и модификации даты если условие удовлетворительно тоже примитивна и не шибко нагрузит сервер, ваш вариант с проверкой каждый запрос здесь вполне имеет место быть. Но именно такие места в проектах и являются узкими, если есть возможность сразу предусмотреть оптимизацию оных - лучше так и сделать и новичков к этому следует приучать.
Но именно такие места в проектах и являются узкими, если есть возможность сразу предусмотреть оптимизацию оных - лучше так и сделать и новичков к этому следует приучать.
Вот и стараюсь, а вы либо подучите архитектуру приложений, либо подпись "Программист" уберите, либо вредных советов не давайте хотя бы.
Почитайте о преждевременной оптимизации, компонентах учета времени, переносимости приложения...
А то я смотрю - все фреймворки как дураки выборки по времени используют, когда есть же очевидный вариант - кронтаб! Напишите им, возьмут главным разработчиком.
Рад что вы можете привести некоторые аргументы за ваше решение, но как программист вы всегда должны искать и минусы в подходах, которые собираетесь использовать, а тем более так уверенно советовать.