За последнюю неделю мы наблюдали три случая, когда инстансы Sidekiq на разных форумах зависали. Ничего необычного не происходило — просто Sidekiq перестал обрабатывать задачи, хотя отображал статус «5 из 5 задач в обработке».
Общим для всех трёх случаев было наличие одной критической задачи BotInput в очереди. Хотя такая задача встречается довольно часто, она всё же выделяется.
После перезапуска Sidekiq всё снова работало нормально. Ручное добавление задачи с теми же параметрами не приводило к повторному зависанию. В конкретном посте, для которого была вызвана задача, тоже ничего особенного не обнаружено.
Есть ли у кого-то идеи, как можно отследить причину происходящего?
У меня возникли проблемы с Sidekiq после обновления форума месяц назад. Какую команду вы используете для перезапуска Sidekiq? Просто sv restart sidekiq?
В последние несколько дней я наблюдаю это. В конечном итоге все задачи перестают выполняться. Ранее я перезагружал систему, но безопасно ли удалять критическую очередь? Это очередь Redis?
У меня установлена актуальная версия 3.5.0.beta1-dev.
Это лишь предположение, но иногда, когда я общаюсь с ботом, он перестает отвечать, и я либо обновляю страницу, либо сдаюсь. Возможно, в таких случаях задача зависает?
Эти задачи выполняются асинхронно, поэтому они даже не узнают о ваших действиях.
Интересно, что вы сталкиваетесь с этим и в Jobs::BotInput. Мы наблюдаем эту проблему только на небольшом подмножестве всех наших серверов (несколько процентов), и, похоже, это экземпляры, которые довольно интенсивно используют нарративный бот.
Нет, вы потеряете все остальные задачи в очереди.
Самый простой и безопасный способ — выполнить sv reload unicorn внутри контейнера.
Интересная находка, спасибо, что разобрались в этом.
Трудно сказать, когда пройдет такая периодическая проблема. Я убрал эту строку на трех экземплярах, которые чаще всего зависали (один из них почти ежедневно). Я вернусь сюда с обновлением либо:
когда один из этих экземпляров зависнет (тогда мы поймем, что это не помогло)
в пятницу, если ни один из них не зависнет (тогда мы сможем предположить, что это было решением)
Хотя проблемы наблюдались на этой неделе, на трёх экземплярах, где мы удалили строку require, они не возникали. Поэтому я считаю, что можно с уверенностью утверждать, что именно это было причиной . Спасибо, что заметили это @tgxworld, я бы никогда сам этого не обнаружил.
Не могли бы вы перенести это исправление в стабильную версию?