Планировщик событий должен выполняться каждый месяц - PullRequest
6 голосов
/ 19 апреля 2011

У меня на компьютере установлены Win XP os и XAMPP.

Мне нужно выполнить мой планировщик событий в 12:00:00 первого дня каждого месяца.Средства 1-го числа каждого месяца.(например, 1 января, 1 февраля, 1 марта, ...).

И мне также нужно вызвать хранимую процедуру в том же событии.И я хочу добиться всего этого, используя Event / Job, только не из внешнего интерфейса.

Пожалуйста, потратьте несколько минут на мой запрос.

Ответы [ 2 ]

17 голосов
/ 19 апреля 2011

Синтаксис события MySQL очень прост -

DELIMITER $$
CREATE EVENT event1
ON SCHEDULE EVERY '1' MONTH
STARTS '2011-05-01 00:00:00'
DO 
BEGIN
 -- your code
END$$

DELIMITER ;

Событие начнет работать над '2011-05-01' с '00: 00: 00' (дата и время должны быть в будущем).

Дополнительная информация - Использование планировщика событий

Не забудьте включить глобальный поток планирования событий -

SET GLOBAL event_scheduler = 1;
0 голосов
/ 19 апреля 2011

Предполагая, что ваша база данных mysql находится на веб-сервере, вы можете настроить задание cron, которое будет запускаться в начале каждого месяца. Ваш сервер, вероятно, предоставляет некоторый веб-интерфейс для этого.

Если вы не можете запустить задание cron с самого сервера, существуют бесплатные веб-службы, где вы можете настроить задания cron, которые в определенный момент времени вызывают сценарии на вашем сервере.

Сценарий, вызываемый заданием cron, может быть простым php-скриптом, который выполняет запрос.

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
mysql_query(' /* insert query here */ ');
mysql_close($link);

Вы можете включить проверку ошибок и либо отправить себе электронное письмо об успехе / неудаче, либо оставить несколько сообщений в файле журнала. Таким образом, вы можете отслеживать, работает ли скрипт вообще и / или успешно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...