@hckn

Долгая операция (конвертация картинки) блокирует сервер, что делать?

Пришло время тестов и обнаружилось, что когда выполняется одна длинная операция (конвертация картинки примерно 30-60 секунд), весь сервер блокируется и нельзя, например, залогинится никому вообще.

Что делать? Где искать ошибку? Как быть в таком случае? Кода очень много. Везде где можно промисы и асинк авейты. Почему оно блокирует? Как же non-blocking блаблабла?
  • Вопрос задан
  • 363 просмотра
Решения вопроса 2
DevMan
@DevMan Куратор тега JavaScript
нет никакой ошибки: это особенность ивент-лупа - не должно быть долгих операций ибо они блокируют весь поток.

конвертируйте отдельно от основного потока.
Ответ написан
Lynn
@Lynn
nginx, js, css
Неблокирующие там только I/O, да и то с оговорками. А так JS как был однопоточным, так и остался и длинные рассчёты очень даже блокируют. Так что их стоит выносить в отдельный поток (или посмотреть на экспериментальные worker_threads)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы