Стек MERN - это, по сути, javascript, так что есть предел для количества вычислений, которое вы можете реально сделать на бэкэнде с ванильной реализацией.
Я бы создал собственный демон , который запускает ваш код Python, поместил бы его в docker контейнер и выбрал бы вашу любимую систему обмена сообщениями / транспортировки для общаться с вашим внутренним API. Там есть множество вариантов:
- Веб-сокеты (необработанные)
- Библиотеки очереди сообщений (IE ZeroMQ)
- Потоки изменений MongoDB (поскольку вы используете MERN )
Таким образом, жизненный цикл classi c для события перехвата данных будет следующим:
- Выполните команду rest-ful для бэкэнда API
- Backend API выдает сообщение демону, используя вашу систему обмена сообщениями
- Daemon пробуждает и перехватывает данные
- Daemon отправляет результат через систему обмена сообщениями в rest-ful api
- Показания Backend API вернуть сообщение и отправить результат клиенту