Sailsjs table 需要在不使用任何 cron 的情况下自动更新
Sailsjs table needs to be updated automatically without using any cron
我正在使用 SAILS JS 并且正在使用 mysql 适配器。我有一个名为 User 的模型,其中包含以下字段 ID、USERNAME、EMAIL、ACTIVE_STATUS 和 CREATED_DATE.
默认情况下,active_status 设置为 0。当 created_date + 3 天等于今天时,我想更新状态为 1。
请提出任何可行的方法。
希望你能使用MySQL的事件调度器
通过以下方式激活它:SET GLOBAL event_scheduler = ON;
创建事件语法:
CREATE EVENT `event_name`
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE | DISABLE ON SLAVE]
DO BEGIN
-- event body
END;
可以为时间表分配各种设置,例如
- 运行 在特定 date/time 上一次:
在‘YYYY-MM-DD HH:MM.SS’
例如在‘2011-06-0102:00.00’
- 运行 在特定时间段过去后一次:
在 CURRENT_TIMESTAMP + INTERVAL n [小时|月|周|日|分钟]
例如在 CURRENT_TIMESTAMP + 间隔 1 天
- 运行 在特定的时间间隔永远:
每 n [小时|月|周|日|分钟]
例如每 1 天
- 运行 在特定时期的特定时间间隔:
每 n [小时|月|周|日|分钟] 开始日期结束日期
例如每 1 天开始 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
我正在使用 SAILS JS 并且正在使用 mysql 适配器。我有一个名为 User 的模型,其中包含以下字段 ID、USERNAME、EMAIL、ACTIVE_STATUS 和 CREATED_DATE.
默认情况下,active_status 设置为 0。当 created_date + 3 天等于今天时,我想更新状态为 1。
请提出任何可行的方法。
希望你能使用MySQL的事件调度器
通过以下方式激活它:SET GLOBAL event_scheduler = ON;
创建事件语法:
CREATE EVENT `event_name`
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE | DISABLE ON SLAVE]
DO BEGIN
-- event body
END;
可以为时间表分配各种设置,例如
- 运行 在特定 date/time 上一次: 在‘YYYY-MM-DD HH:MM.SS’ 例如在‘2011-06-0102:00.00’
- 运行 在特定时间段过去后一次: 在 CURRENT_TIMESTAMP + INTERVAL n [小时|月|周|日|分钟] 例如在 CURRENT_TIMESTAMP + 间隔 1 天
- 运行 在特定的时间间隔永远: 每 n [小时|月|周|日|分钟] 例如每 1 天
- 运行 在特定时期的特定时间间隔: 每 n [小时|月|周|日|分钟] 开始日期结束日期 例如每 1 天开始 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