alexandrknyazev13071995
@alexandrknyazev13071995

Kue. Что это и с чем его едят?

На практике над реализацией nodejs - приложения. Дали задание разбираться, что такое npm - модуль kue и с помощью него реализовывать очереди при запросах к серверу. Если обратиться к официальнойа странице на Github - там все написано для людей, которые уже знакомы с проблемами которые должен решать этот модуль.
Я же понять основы того что это.
Что можете посоветовать погуглить/почитать?
  • Вопрос задан
  • 1431 просмотр
Пригласить эксперта
Ответы на вопрос 1
pomeo
@pomeo
Обычные очереди с хранением данных в redis, всё в документации.
То чего нет в документации, с 0.9 версии появился TTL, надо его ставить. Если пропустите done();, а я вам гарантирую, что вы их будете месяцами втыкать во все места сложных задач, то задача отвалится по таймауту. Ловить ошибки надо везде, когда у вас процессится задание. Пропустите, timeout не стоит, задача встала. Даже если стоит, задача не выполнится. И если вы уж используете очереди, то это будет не одна задача, а сотни тысяч или миллионы.
Ещё надо чистить базу от job failed. Удаляются только job success, если стоит removeOnComplete(true). А вот failed надо чистить руками, в документации описано как это делать. Не будете чистить, может что-то пойти не так и редис сожрёт всю память.
Надо обязательно настраивать graceful shutdown.
В последних версиях выключен поиск по задачам, если он вам не нужен, не включайте.
Если вам не нужны job events, выключите. Редис заметно похудеет.
Если у вас будет расти память у редиса, останавливаться задачи и куча других ошибок около kue. То 99.9%, что проблема в ваших руках, а не в kue. В issues каждые пару недель появляется человек с "jobs stuck" и это как раз 99.9%
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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