Запускайте программу в фоновом режиме, постоянно, на веб-сервере - желательно на PHP - PullRequest
1 голос
/ 14 ноября 2010

Я хочу создать приложение для веб-сайта, которое позволит нашим участникам получать текстовые сообщения / оповещения по электронной почте каждый день за 1 час до их урока (напоминание).

Мой серверный язык написан исключительно на PHP (хотя я немного изменил язык C ++ в тот день). Очевидно, что для этого нужно как-то постоянно запускать программу на моем сервере.

Может ли это быть достигнуто в PHP? Если да, эффективен ли php при этом? Если нет, как я могу это сделать?

Или, может быть, это совершенно неправильный подход, и есть лучший способ создать такой сервис.

Ответы [ 3 ]

1 голос
/ 14 ноября 2010

да, вы можете рассматривать PHP как демон

или проверьте это php выполняет фоновый процесс

или просто используйте cron - http://en.wikipedia.org/wiki/Cron

но вы должны НЕ создать веб-сервис / приложение только для запуска фоновых процессов PHP, оно должно обслуживать сложные задачи

0 голосов
/ 14 ноября 2010

Вам потребуется запустить службу на самом сервере или создать задание CRON для запуска в любой заданный интервал. Если у вас нет прав администратора, вам придется выполнять работу CRON, которую обычно можно настроить в cpanel вашего хоста.

Например, вы можете создать небольшой скрипт PHP, который

1) Поиск всех уроков, которые начинаются в час, следующий за текущим часом. Таким образом, если скрипт запускается в 17:00, он будет искать уроки, которые начинаются между 18:00 и 6:59.

2) Отправьте электронное письмо этим участникам.

Хотя это был бы ровно 1 час.

0 голосов
/ 14 ноября 2010

Конечно, вы можете использовать PHP в качестве языка сценариев на сервере. Он так же способен, как и любой другой.

Напишите сценарий PHP, который проверяет вашу базу данных на предмет того, что участники должны быть предупреждены, а затем отправляет сообщение. Добавьте crontab для запуска этого скрипта каждую минуту / час / что угодно. Чтобы запустить скрипт php из командной строки, вы запускаете интерпретатор php и даете ему имя скрипта для запуска.

$ php /path/to/script.php

...