Вам нужно какой-то процесс на стороне сервера для выполнения задачи в запланированное время.
Популярный подход заключается в том, чтобы хранить информацию о задаче в некоторой базе данных и время от времени выполнять задание cron по проверке очереди задач - это очень надёжно и безопасно.
Невозможно дать лучший ответ без дополнительной информации об окружающей среде, в которой он будет развернут.Например:
- целевой ОС
- типа хостинга (посвященный, общий, облака)
- у вас есть права администратора?
- Он открыт в Интернете?
Скорее всего, вы не будете в состоянии сделать это в общей среде хостинга, так или иначе, но я должен сказать, что наличие веб-сайта вызова shell_exec не очень мудрым с точки зрения безопасности, так что я бы избежать этого, если сайт подвергается воздействию Интернета.
Хороший хостинг-провайдер должен иметь доступный планировщик фоновых задач, даже если он не является crontab. Если у вашего хостинг-провайдера нет, попытка вытащить какой-то трюк, чтобы заполнить пробел, вероятно, плохая идея.
[обновление]
Как я уже говорил в редактируемой части исходного поста, я разместить его на godaddy.com, и я не могу позволить клиентам запускать эти командные строки и т.д. Есть есть ли решение с другими языками?
Я больше не хожу на godaddy, но у них на панели управления был «диспетчер Cron». Я думаю, что правильная установка goDaddy cron -
/usr/bin/wget -O - -q "http://yoursite.com/cron.php" > /dev/null 2>&1
в опции Command в диспетчере Cron. Этот «cron.php» проверяет очередь задач, чтобы узнать, есть ли какая-либо электронная почта для отправки (очередь задач является простой таблицей в вашей базе данных, где вы будете записывать любую задачу, запланированную вашими клиентами).
BTW, почему он помечен рубиновыми рельсами и django? –
О, черт возьми, я думал, что уже сказал, что любые решения RoR или Django приветствуются! Теперь я отредактирую это. –