У нас была точно такая же задача, и мы выполнили ее так, как вы описали, то есть мы инициализируем наши задачи на основе cron в загрузочных скриптах.Это работает очень хорошо.
Есть некоторые вещи, которые вы, возможно, должны учитывать при выполнении задач в Node.js:
- Если вы планируете запускать несколько экземпляров приложения Node (длянапример, с pm2 или чем-то еще), вам может потребоваться убедиться, что ваши задачи будут выполняться только на одном основном узле, а не на всех узлах одновременно.Если первичный узел дает сбой, следующий узел должен быть выбран в качестве нового первичного.В зависимости от бизнес-логики, это может не быть проблемой в вашем случае.В нашем случае это было обязательно, и нам удалось реализовать его с помощью консультативных блокировок в PG (мы использовали комбинацию pg_try_advisory_xact_lock и pg_advisory_xact_lock)
- Возможно, вы захотите реализовать опцию для остановки / запуска задач, а также для просмотраего статусы через Loopback API / Loopback Explorer.Мы сделали несколько пользовательских методов API в Loopback, чтобы сделать именно это, и нашли это очень полезным
У меня вопрос, где и как мне реализовать этот код в моем Loopback 4 API?
Итак, ответ на этот вопрос - реализуйте его так, как вы предлагали.Вы можете инициализировать свои задачи в пользовательском загрузчике.Вы также должны учитывать пункты, которые я упомянул выше, в зависимости от потребностей вашего бизнеса.