Sailsjs表需要自动更新而不使用任何cron

我正在使用SAILS JS和MySQL适配器正在使用。 我有一个名为User的模型,具有以下字段ID,USERNAME,EMAIL,ACTIVE_STATUS和CREATED_DATE。

默认情况下,active_status设置为0.我想更新状态是1,当今天的时候created_date + 3天是相等的。

请build议任何可能的方法来做到这一点。

希望你可以使用MySQL的事件调度器

激活它: SET GLOBAL event_scheduler = ON;

创build事件语法:

 CREATE EVENT `event_name` ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE | DISABLE ON SLAVE] DO BEGIN -- event body END; 

时间表可以被分配各种设置,例如

  • 在特定date/时间运行一次:AT'YYYY-MM-DD HH:MM.SS'例如AT'2011-06-01 02:00.00'
  • 在经过一段时间后运行一次:AT CURRENT_TIMESTAMP + INTERVAL n [HOUR | MONTH | WEEK | DAY | MINUTE]例如AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
  • 永远以特定的时间间隔运行:每个n [小时|月|周|日|分]例如每1天
  • 以特定时间间隔在特定时段运行:每个[每小时|每月|每周|每天|每分钟]开始date结束date,例如每天开始CURRENT_TIMESTAMP +间隔1周结束'2012-01-01 00:00.00'

例:

 SET GLOBAL event_scheduler = ON; -- enable event scheduler. SELECT @@event_scheduler; -- check whether event scheduler is ON/OFF CREATE EVENT e_store_ts -- create your event ON SCHEDULE EVERY 24 HOURS -- run every 24 hours DO UPDATE myschema.users set active_status = 1 

请参阅: http : //dev.mysql.com/doc/refman/5.5/en/create-event.html