Size: a a a

NestJS — русскоязычное сообщество

2020 August 07

AK

Alex Kulagin 🏡 in NestJS — русскоязычное сообщество
https://ift.tt/3fcnayJ https://ift.tt/31Yk4dL
#dilbert #boss #stupidity #say #no
источник

AK

Alex Kulagin 🏡 in NestJS — русскоязычное сообщество
источник

YK

Yaroslav Kuznetsov in NestJS — русскоязычное сообщество
Мы же уже тебе описали как можно сделать твою задачу - крон отдельно, работает раз в 10 минут и складывает данные в новую таблицу (я бы ещё поля createdat добавил). Далее в апи меняешь свой get запрос (пишеш сервис который подруьается к таблице с результатами крона)
источник

SL

S. L. in NestJS — русскоязычное сообщество
спасибо
источник

GT

Gleb Tregubov in NestJS — русскоязычное сообщество
Ребята, здоровеньки булы! Можете, пожалуйста, объяснить мне, несведущему, как должен работать механизм подписки на события в случае работы с микросервисами и брокером Nats Streaming?

Архитектура такая:
1.) Сервер1 (он же HTTP-клиент и, как я понял, Nats-клиент),

2) Сервер 2 (чисто Nats-сервер, к-ый должен ловить данные от Сервера1 и отправлять их по подписке  Серверу3),

3) Сервер3 (HTTP-клиент, Nats-клиент) подписывается на события Сервера2 и выполняет какую-то логику, когда к нему что-то пришло.
источник

GT

Gleb Tregubov in NestJS — русскоязычное сообщество
У меня вопрос именно с точки зрения технической реализации, какие методы правильно применить на трех серверах?

1) На Сервере1 у меня в AppService настроено подключение к серверу NATS за портом 14222. Отправляю данные на сервер через emit()

2) На Сервере2 в main.ts настроено прослушивание сервера  NATS за портом 14222. В app.controller.ts добавил такой код:
@EventPattern('btc_message')
 async newMessage(data: {
   username: string,
   message: string,
 }): Promise<any> {
   const { username, message } = data;
   this.logger.log(`btc username: ${username}; message: ${message}`)
   return {
     username,
     message,
   }
 }


В настоящий момент я получаю данные с Сервера1 на Сервер2
источник

GT

Gleb Tregubov in NestJS — русскоязычное сообщество
На Сервере3, в файле module.ts добавил настройки для прослушивания сервера NATS:
@Module({
 imports: [
   ClientsModule.register([
     {
       name: 'MATH_SERVICE',
       transport: Transport.NATS,
       options: {
         url: 'nats://localhost:14222',
       }
     },
   ]),
 ],
 controllers: [MicroController],
 providers: [MicroService]
})
источник

GT

Gleb Tregubov in NestJS — русскоязычное сообщество
При этом в файле micro.controller.ts ожидаю чуда вот в таком коде:
  @EventPattern('btc_message') 
 async newMessage(data: {
   username: string,
   message: string, }): Promise<any> {
     this.logger.log(data);
 }


Но чуда не происходит, инфа не появляется
источник

GT

Gleb Tregubov in NestJS — русскоязычное сообщество
Что я делаю не так?
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
чтоза протокол такой nats://
источник

SL

S. L. in NestJS — русскоязычное сообщество
кто-то с таким сталкивался? Это начинает выводится в консоль когда я открываю локалхост:3000 в браузере
источник

GT

Gleb Tregubov in NestJS — русскоязычное сообщество
🏡 ILshat Khamitov
чтоза протокол такой nats://
Один из брокеров сообщений. Есть RabbitMQ, Kafka, есть NATS и NATS Streaming
источник

AE

Andrei Eres in NestJS — русскоязычное сообщество
Народ, можете подсказать, как грузить форм-дату с await вот в таком методе?

private async postImage(buffer: Buffer) {
   const form = new FormData()
   form.append('config', JSON.stringify({}))
   form.append('myFile', buffer)

   const res = await this.httpService
     .post(MEDIA_SERVER_UPLOAD_URL, form, {
       headers: {...headers, ...form.getHeaders()},
     })
     .toPromise()
 }
источник

LK

L K in NestJS — русскоязычное сообщество
Andrei Eres
Народ, можете подсказать, как грузить форм-дату с await вот в таком методе?

private async postImage(buffer: Buffer) {
   const form = new FormData()
   form.append('config', JSON.stringify({}))
   form.append('myFile', buffer)

   const res = await this.httpService
     .post(MEDIA_SERVER_UPLOAD_URL, form, {
       headers: {...headers, ...form.getHeaders()},
     })
     .toPromise()
 }
а причем тут нест ?
источник

AE

Andrei Eres in NestJS — русскоязычное сообщество
Бэк на несте :-)
источник

AK

Alex Kulagin 🏡 in NestJS — русскоязычное сообщество
L K
а причем тут нест ?
просто тут все няшки и всегда помогут=)
источник

LK

L K in NestJS — русскоязычное сообщество
Alex Kulagin 🏡
просто тут все няшки и всегда помогут=)
вы знаете, я вот что-то приболел, поможете ?)
шучу )
источник

AK

Alex Kulagin 🏡 in NestJS — русскоязычное сообщество
арбидол или гильотина вы выбор))
источник

AK

Alex Kulagin 🏡 in NestJS — русскоязычное сообщество
Andrei Eres
Народ, можете подсказать, как грузить форм-дату с await вот в таком методе?

private async postImage(buffer: Buffer) {
   const form = new FormData()
   form.append('config', JSON.stringify({}))
   form.append('myFile', buffer)

   const res = await this.httpService
     .post(MEDIA_SERVER_UPLOAD_URL, form, {
       headers: {...headers, ...form.getHeaders()},
     })
     .toPromise()
 }
а в чем собсна вопрос? вроде всё правильно сделано.
источник

AE

Andrei Eres in NestJS — русскоязычное сообщество
Alex Kulagin 🏡
а в чем собсна вопрос? вроде всё правильно сделано.
Не идёт запрос нормально. Если мысль, что это из-за того, что form data на стриме работает, и что-то там не успевает до запроса.
источник