【问题标题】:Delete User Data every 24 hours, node.js postgres每 24 小时删除一次用户数据,node.js postgres
【发布时间】:2020-04-26 23:03:39
【问题描述】:

end 使用 express 和 postgres 作为其数据库。目前我的架构是

.createTable('users', users => {
            users.increments();
            users.string('email').unique().notNullable();
            users.integer('total_points').defaultTo(0);

            // Everything below this needs to reset back to 0 every 24 hours

            users.integer('daily_points').defaultTo(0);
            users.integer('food').defaultTo(0);
            users.integer('sleep').defaultTo(0);
            users.integer('water').defaultTo(0);

如何使用 node cron 每 24 小时删除一次数据。

cron.schedule("* * * * *", function() {   // every day at 4am = 0 4 * * *
    console.log("running a task every minute");
  });

我可以在这里传递什么而不是 console.log?

【问题讨论】:

    标签: node.js postgresql express cron


    【解决方案1】:

    使用node-schedule 模块并将其写入您的服务器:

    schedule = require('node-schedule');
    
    schedule.scheduleJob('0 0 4 * * *',
      function (fireDate) {
        console.log(`fireDate: ${fireDate}`);
        console.log(`now: ${new Date()}`);
        yourRemoveFunction()
          .then(result => {
            console.log(`data removed at ${new Date()}`);
            console.log('result:\n', result);
          })
          .catch(reason => {
            console.error(`removing data failed at ${new Date()}`);
            console.error(`reason: ${reason}`);
          });
      });
    

    编写一个运行查询以删除目标数据的函数(yourRemoveFunction)

    【讨论】:

    • 我可以在我的 yourRemoveFunction() return db(everything I need to delete).del() ? .. 谢谢你之前的回答!
    • 它应该返回承诺。 @ShawnP96
    • 是的,我尝试了以前的功能,但它只是删除了整个用户而不是重置字段。我会在我的承诺中传递什么。那么?我有点新,似乎也找不到任何关于此的文档。
    • 你可以用node-schedule定义一些重复的正式任务。所以你的功能是错误的。究竟是什么功能? @shawnp96
    • 我其实想通了,一个非常简单的解决方案。 return db('users).update(daily_points=0, etc etc) 虽然我认为这不是最安全的方法。我在 knexjs.org @Saeed 上找到了它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 2020-01-27
    相关资源
    最近更新 更多