Включена ли служба заданий cron / запланированных задач? - PullRequest
0 голосов
/ 09 декабря 2011

Я делаю веб-сайт, которому нужна работа cron или запланированная задача для еженедельной отправки электронной почты, но проблема в том, что я не знаю, поддерживает ли ее хост ...

Этот веб-сайт предназначен для учебного заведения, и я не могу разместить его на каком-либо другом хосте ...

Хост использует Apache.

Если он не поддерживает, как я могу отправлять еженедельные электронные письма автоматически, без смены хоста?

EDIT

Я забыл сказать, что я новичок в работе cron.

Ответы [ 3 ]

1 голос
/ 09 декабря 2011

Сначала спросите у своего хоста, поддерживаются ли задания cron (они должны быть), проверьте панель (если она есть), попробуйте настроить ее и посмотреть, работает ли она и т. Д.

Если нет, то один из возможных способов (кроме поиска внешней службы, которая будет выполнять вызов скрипта за вас) - добавить в ваш код функцию, которая будет вызываться каждый раз, когда посетитель вашего сайта входит в конкретный страница (например, указатель). Там вы проверите, является ли будний день днем ​​отправки электронного письма. Если да, отправьте письмо с флагом (например, записью в БД), чтобы проверить, было ли оно уже отправлено.

Конечно, это не идеальное решение, все остальные (реальные кроны или внешний сервис) лучше, но, поскольку это решение, стоит упомянуть.

1 голос
/ 09 декабря 2011

Apache не имеет ничего общего с заданиями cron, так как система, работающая на хосте, должна запускать задание (которое затем может вызвать скрипт, работающий под apache).

Есть ли у вас доступ по SSH?
Добавьте задание в файл / etc / crontab или файл cron вашего пользователя.

Или у вас есть веб-интерфейс для какого-либо программного обеспечения для управления (например, Plesk)?
Найдите там опцию для заданий Cron или Запланированных заданий.

Если нет, вы можете использовать некоторые внешние службы, которые будут вызывать URL на вашем сайте для запуска задания, например http://www.setcronjob.com/.

0 голосов
/ 09 декабря 2011

Вы читали некоторую документацию о cron-daemon?Этот код проверяет, запущен ли cron

ps -ef | grep cron

После этого вам нужно создать файл, который будет обрабатывать пики адреса электронной почты и отправлять письма.вот так cron (это просто пример рассылки чего-то в каждое воскресенье, 23 часа):

0 23 ? * 0 php /path/sendnewsletter.php
...