Удаление пользовательских данных каждые 24 часа, node.js postgres - PullRequest
1 голос
/ 26 апреля 2020

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);

Как я могу использовать узел cron для удаления данных каждые 24 часа.

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

Что я могу передать здесь вместо console.log?

1 Ответ

0 голосов
/ 26 апреля 2020

Используйте модуль 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...