пытался - сталкиваюсь с проблемами.
Вот сейчас - крайний раз - утечка памяти... Ищу.
В конструкторе такая штука:
this.ami.eventPipe.subscribe(event => {
this.newInternalEvent(event);
})
Т. е. постоянно идут события из eventpipe и обрабатываются. Тут может быть причина в утечке?
да, может событие само в себя влетает
а это как? я просто в одном месте делаю: this.eventPipe.next({ type: 'LocalBridge', data: amiData }) а в другом подписан на эти события (1 точка, выше код) и всё.
может тебе не нужен rxjs а нужен https://docs.nestjs.com/techniques/events ?
ага, точно. Вроде events не так давно завезли да? Я когда-то начинал с версии 4.0 - вроде не было )
у тебя тут newInternalEvent это промис или что? просто влетит у тебя лям в Subject этот лям и запустится сразу на обработку, очереди то нету, если напишешь this.ami.eventPipe.pipe(cancatMap(event=>from(this.newInternalEvent(event))).subscribe() то влетит лям но обработка будет последовательной но не забывай что сервак может упасть и прервется обработка, лучше разнести через очередь
не, ну дальше очередь. Данные падают в массив и запускается уже асинхронная функция которая "выгребает" данные из массива и обрабатывает последовательно. public newInternalEvent(event: I.VoipEvent) { this.channelEvents.push(event); if (this.isEventsParsing) return; this.eventParser(); }
Обсуждают сегодня