SQL event в cron

gogolik
На сайте с 16.07.2014
Offline
20
717

Приветствую. Подскажите, пожалуйста, как загнать имеющийся SQL EVENT в крон? Хост запретил создавать ивенты, а вот крон есть.


CREATE EVENT myEvent
ON SCHEDULE EVERY 10 MINUTE
DO
UPDATE users SET user_status="0" WHERE user_prodate <= DATE_SUB(NOW() + INTERVAL 1 DAY);

Вообще я в sql и php не очень силён, мог что-то неправильно написать, но суть ясна.

Заранее спасибо!

ДП
На сайте с 23.11.2009
Offline
203
#1

Так-то вам тут php вообще может быть не нужен, можно прям в крон прописать запуск mysql с выполнением этой команды, ну апдейта в смысле.

http://www.shellhacks.com/ru/Kak-Vypolnit-Komandu-MySQL-iz-Linux-BASH-Shell

gogolik
На сайте с 16.07.2014
Offline
20
#2
Дикий пионер:
Так-то вам тут php вообще может быть не нужен, можно прям в крон прописать запуск mysql с выполнением этой команды, ну апдейта в смысле.
http://www.shellhacks.com/ru/Kak-Vypolnit-Komandu-MySQL-iz-Linux-BASH-Shell

Не осилил. :(

Зато быстро написал решение на php, которое меня вполне устроило и было охотно скушано cron.

<?php

$mysqli = @new mysqli('localhost', 'user', 'pass', 'basename');
$mysqli->query('UPDATE users SET user_status="0" WHERE user_status="1" AND user_prodate <= DATE_SUB(NOW(), INTERVAL 1 DAY)');
$mysqli->query('UPDATE users SET user_status="0" WHERE user_status="2" AND user_prodate <= DATE_SUB(NOW(), INTERVAL 1 WEEK)');
$mysqli->close();
?>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий