Запустите HTTP-запрос и сохраните ответ на MYSQL Result. - PullRequest
0 голосов
/ 13 мая 2019

Программа представляет собой программу Node.js.Данные хранятся в базе данных MYSQL под Amazon RDS.Это связано с использованием Sequelize.js.У меня есть некоторые задания по расписанию в программе.Эти задания по расписанию выполняются следующим образом:

  1. запрос на выборку из базы данных
  2. отправка запроса третьей стороне и получение ответа
  3. что-то делает с ответом
  4. Сохранение журнала и ответа в базу данных

В настоящее время расписание заданий находится в программе Node.js, но при запуске задания программа Node.js замедляется.Я выполняю перекодировку и хочу перенести его на сервер MySQL.
Я знаю, что на сервере MySQL есть планировщик событий, но я обнаружил, что он может выполнять только некоторый SQL-код.Как я могу сделать запрос http?или это не возможно?Любая помощь тела?

1 Ответ

0 голосов
/ 14 мая 2019

Сохраните вашу программу Node.js для обработки запросов.Он реализован и делает то, что вас не беспокоит по поводу времени его обработки.

Я бы перешел к использованию очереди сообщений, такой как Rabbit MQ (или какая-либо очередь AWS), для хранения заданий, необходимых для получения.ответы и обработаны.Таким образом, вы просто помещаете необходимые вещи (первичный ключ таблицы или идентификатор) в очередь во время ответа HTTP, и ваши Node.js могут выбрать элемент из очереди (интерфейс блокировки), чтобы обработать его.Таким образом, для обработки не требуется опрос на основе событий.

Другим преимуществом подхода с очередями является то, что вы можете увеличивать количество программ Node.js, обрабатывающих эти запросы без конфликтов, и вы получаете возможность максимизироватьзагрузка процессора без перегрузки.

...