Совет при работе с длительными почтовыми запросами из приложения React в NodeJS Backend - PullRequest
1 голос
/ 21 апреля 2020

У меня есть приложение, которое сталкивается с проблемами при отправке 100+ элементов в мой nodejs бэкэнд для обработки. Весь запрос может занять до 3 минут из-за ограничений внешнего вызова API в минуту.

Я пробовал и топор ios, и суперагент, но оба тайм-аута достигли 1-2 минут, и веб-интерфейс выдаст ошибку говоря net::ERR_EMPTY_RESPONSE с топором ios и Error: Timeout exceeded at Request.push.RequestBase от суперагента - но мой бэкэнд будет продолжать обрабатывать задания и добиваться успеха.

В бэкэнде express я открыл тайм-аут на 10 минут, следуя приведенным здесь советам Nodejs и express сервер закрывает соединение через 2 минуты .

Я прошу совета, так как моей единственной следующей мыслью будет разбить результаты на моем веб-интерфейсе и отправить множество небольших запросов, чтобы выполнить работу.

Заранее благодарим за любую помощь или совет.

1 Ответ

1 голос
/ 21 апреля 2020

На axios вы можете установить собственный timeout таймер. Jus Инициализируйте точку ввода:

const api = axios.create({
    baseURL: apiURL,
    timeout: 10 * 60 * 1000, // whatever time you want
});

и просто используйте ее как:

api.get()
api.post()
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...