Я создаю приложение twitter, где пользователь может ввести твит и может планировать его публикацию один раз, ежедневно, еженедельно или ежемесячно. Каков наилучший способ выполнения задания cron для этого действия? Я могу только думать о запуске работы cron каждую минуту и сопоставлении времени и дат - это не может быть лучшим решением, так как это создало бы большой стресс на сервере. Я использую стек лампы с ubuntu - любые предложения будут оценены.
Cronjob, который выполняется каждую минуту, возможно, немного переборчив, если самый низкий интервал один раз в день. С другой стороны, script, который делает запрос каждую минуту, не так сильно нагружен на веб-сервере, поскольку он, вероятно, может обрабатывать 1000 запросов в минуту на относительном низком сервере.
Когда ваше приложение/веб-сайт будет использоваться много, вы можете начать с большей оптимизации, но когда ваш сайт/приложение становится настолько большим, вероятно, нужно запускать его каждую минуту:).
Если вы используете crontab, вам нужно создать запись crontab для каждого варианта вариантов планирования (ежедневно, еженедельно, ежемесячно). Прогон script для каждой записи должен выполнять работу для всех пользователей, которые выбрали эту частоту планирования.
Файлы Crontab следуют в общем формате. На странице crontab (5):
field allowed values ----- -------------- minute 0-59 hour 0-23 day of month 1-31 month 1-12 (or names, see below) day of week 0-7 (0 or 7 is Sun, or use names)
0 0 * * *
0 0 * * 0
0 0 1 * *
Я точно не знаю, как это можно сделать, но в Unix есть эта команда, которая может быть использована: http://en.wikipedia.org/wiki/At_%28Unix%29