Почему расписание событий mysql не работает в базе данных localhost?

Я бегал:SET GLOBAL event_scheduler = ON;

Мой скрипт планировщика событий выглядит так:

CREATE EVENT update_status
ON SCHEDULE EVERY 2 MINUTE
DO
UPDATE customer_group
SET is_status = 1
WHERE CURRENT_TIMESTAMP >= end_date

Это не обновляет значение в базе данных localhost

Хотя на сервере базы данных это обновление

Любое решение, чтобы решить мою проблему?

Спасибо

 Adrian15 июн. 2016 г., 04:01
Вы проверили, работает ли планировщик событий? Попробуйте SHOW Processlist
 moses toh15 июн. 2016 г., 04:04
@Адриан,SELECT @@event_scheduler;

Ответы на вопрос(1)

Решение Вопроса

Посмотрите на следующее.

Выпуститьselect CURRENT_TIMESTAMP; или же

select count(*) as theCount
from customer_group
where is_status=1 and CURRENT_TIMESTAMP >= end_date;

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

Запустите несколько команд, таких как:

show variables where variable_name='event_scheduler';

- в настоящее время выключен (или может быть включен)

Укажите время начала вашего мероприятия при создании и укажитеON COMPLETION PRESERVE такие как

drop event if exists `Every_5_Minutes_QuestionUpdateImport`;
DELIMITER $
CREATE EVENT `Every_5_Minutes_QuestionUpdateImport`
  ON SCHEDULE EVERY 5 MINUTE STARTS '2015-09-01 00:00:00'
  ON COMPLETION PRESERVE
DO BEGIN
    --
    -- all your statements go here
    -- 
END$
DELIMITER ;

Включите обработчик событий:

SET GLOBAL event_scheduler = ON;  -- turn her on and confirm below

Подтверди это:

show variables where variable_name='event_scheduler';

Проверьте состояние всех событий в конкретной базе данных по имени базы данных:

show events from stackoverflow; -- note stackoverflow is my database name 

Отключить или включить определенное событие по имени в текущей выбранной базе данных:

ALTER EVENT Every_2_Minutes_QuestionUpdateImport disable;
ALTER EVENT Every_2_Minutes_QuestionUpdateImport enable;

И последнее, но не менее важное: когда я пишу новое событие, я всегда добавляю изначально в операторах событий для входа в таблицу журналов (с оператором вставки и датой и временемnow()). Таким образом, я знаю, что это сработало, и что данные в предложении where, вроде вашего, возможно, не дают мне неправильного прочтения в целом.

И я имею в виду, я схожу с ума повсюду. Первоначально, потом я это повторяю:

    set filename:=concat('c:\\datavault\\stackoverflow\\app01\\batches\\processMe_',LPAD(@idToPerform, 8, '0'),'.txt');
    set logMsg:=concat("It would appear I am to process this thing: ",filename);

    insert EvtsLog(incarnationId,evtName,step,debugMsg,dtWhenLogged)
    select incarnationId,evtAlias,10,logMsg,now(); -- 10: some step somewhere in the middle

Помните для всех практических целей (за исключением, может быть, вашего стола, который вас действительно интересует из вашего вопроса) ... чтоEvtsLog Мой единственный пользовательский интерфейс как программист событий и ваш лучший друг.

Посмотрите на странице руководства для чегоПО ЗАВЕРШЕНИЮ ЗАВЕРШЕНИЯ значит так же как и другие вещи.

 Drew02 июл. 2016 г., 01:38
@mosestoh это чистыйmysql рутина. PHP не играет роли.
 Drew04 июл. 2016 г., 04:37
@mosestoh Я посмотрю. Пожалуйста, обновите его, добавив больше блоков кода, если это необходимо, поскольку я играл с CI только один раз для необработанного теста запроса. Смысл, я полный нуб с этим. Но это меня интересует. Вы всегда можете пинговать меня вКампании номер.
 moses toh04 июл. 2016 г., 04:19
Мне нужна твоя помощь. Смотри сюда :stackoverflow.com/questions/38175735/...

Ваш ответ на вопрос