sql >> Databáze >  >> RDS >> Mysql

Mysql PHP Cron pro aktualizaci uživatelských statistik

MySQL řešení:

Vyžadujete MySQL event běžet na základě času.

A navrhuji, abyste napsali update prohlášení na základě vašeho stavu a propojte stejný postup s plánovačem událostí, na kterém chcete spustit každý začátek dne.

Můžete to udělat následovně:.

Příklad :

delimiter //
drop event if exists event_scheduling_sample;

create event if not exists event_scheduling_sample
--  on schedule every 86400 second starts 00:00:00
--  at timestamp( adddate( current_date, 1 ),'00:00:00' )
--  on schedule every 1 day 
    --   starts current_timestamp 
    --   ends current_timestamp + interval '5' day
--  on schedule every 1 day 
    --   starts current_timestamp 
    --   ends timestamp( current_date,'23:59:59' )

  on schedule every 1 day 
     starts timestamp( current_date + 1, '00:00:00' )

  comment 'event scheduling sample'
  do
    call db_name.procedure_name_that_updates_the_user_records();
;
//
delimiter ;

Viz :MySQL:CREATE EVENT Syntaxe

Výchozí stav Plánovače událostí je VYPNUTO.
Je třeba jej povolit kterýmkoli z následujících příkazů.

SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = 1;

Když je Plánovač událostí ZAPNUTÝ, vlákno plánovače událostí je uvedeno ve výstupu SHOW PROCESSLIST jako proces démona a jeho stav je znázorněn zde:

mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
     Id: 1
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: NULL
   Info: show processlist
*************************** 2. row ***************************
     Id: 2
   User: event_scheduler
   Host: localhost
     db: NULL
Command: Daemon
   Time: 3
  State: Waiting for next activation
   Info: NULL
2 rows in set (0.00 sec)

Jakmile je Plánovač událostí zapnutý, uvidíte, že funguje.

Viz :Konfigurace plánovače událostí MySQL




  1. Oracle pl-sql escape znak (pro ' )

  2. Jak mohu vybrat typ hromadné shromážděné tabulky záznamů

  3. Mohu odstranit přechodné jevy v tabulce wp_options mé instalace WordPress?

  4. Přidejte Ordinal Indicator k datu v PostgreSQL