Вы можете начать с малого и использовать API setInterval () для выполнения запланированного задания.
Допустим, ваша задача - отправить электронное письмо всем пользователям.
Определите это в функции, подобной этой:
function sendScheduledEmails() {
// Get all the emails
// Send emails with your provider
}
Проверьте, работает ли он, вызвав func, но просто включив его и запустив сервер один раз:
sendScheduledEmails()
Когда вы видите, что ваша функция работает, используйте API:
setInterval(sendScheduledEmails, 120000)
Проверьте, выполняет ли ваше приложение заданные интервалы. Как только вы увидите, что он работает, вы можете заглянуть в другие модули и дополнительно настроить его.
Если вы хотите действовать после того, как что-то случится. Допустим, вы хотите отправить электронное письмо после регистрации пользователя.
Затем, когда пользователь регистрируется, вы можете создать событие, подобное этому:
const EventEmitter = require('events');
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
// User registered
// Redirect to success page
myEmitter.emit('userRegistered');
This will fire an event everytime that action happens, and you can listen to it.
Then in your code you can do:
myEmitter.on('userRegistered', function() {
setInterval(sendScheduledEmails, 120000)
})