# Sidekiq с использованием Elasticache не обрабатывает задачи в очереди после обновления Discourse

**URL:** https://meta.discourse.org/t/sidekiq-using-elasticache-not-processing-queued-jobs-since-discourse-upgrade/161897
**Category:** Self-hosting
**Created:** [24.Август.2020 11:02:16 UTC](https://meta.discourse.org/t/sidekiq-using-elasticache-not-processing-queued-jobs-since-discourse-upgrade/161897 "2020-08-24T11:02:16Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![aperez](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aperez/32/191490_2.png) [@aperez](https://meta.discourse.org/u/aperez)
#### Post date: [24.Август.2020 11:02:16 UTC](https://meta.discourse.org/t/sidekiq-using-elasticache-not-processing-queued-jobs-since-discourse-upgrade/161897/1 "2020-08-24T11:02:16Z")

</div>

Недавно я обновил экземпляр Docker с Discourse, работающий на Ubuntu EC2. Для обновления использовал команду `launcher rebuild`. Ранее у меня была версия 2.4.0, которую я обновил до 2.6.0.beta1 (позже также до 2.6.0.beta2). Вместо Redis я использую Elasticache, и до обновления всё работало без проблем. Сразу после обновления я заметил, что Sidekiq перестал отправлять письма. Я перезапустил приложение и очистил кэш, и казалось, что всё заработало, но это оказалось ложным срабатыванием.

**Наблюдаемые признаки сбоя**

- Sidekiq планирует и ставит задачи в очередь с относительно стабильной скоростью (как видно на панели мониторинга Sidekiq), но не выполняет ни одной.
- На странице администратора появляется предупреждение о том, что Sidekiq не запущен.
- В логах несколько раз встречается запись: `Sidekiq heartbeat test failed, restarting`.
- И, конечно, письма не отправляются пользователям.

**Что я уже пробовал (после чтения постов здесь и на Stack Overflow)**

- Успешно отправил тестовое письмо с помощью `discourse-doctor`, чтобы убедиться, что часть процесса работает.
- Проверил на панели мониторинга Sidekiq, что в нижнем колонтитуле отображается правильный экземпляр Elasticache .
- Убедился, что в логах Docker нет ошибок (`ok: run: redis: (pid XX) 0s`).
- Очистил кэш и перезапустил Discourse (`./launcher restart app`).
- Остановил приложение, очистил кэш и снова запустил его.
- Пересобрал приложение заново.

**Шаги, которые я ещё не пробовал**

- Создание нового экземпляра Elasticache.
- Отключение этой установки и создание чистой.

Сталкивался ли кто-нибудь с подобной проблемой и есть ли какие-либо предложения?  
Может быть, я упустил какие-то логи?  
Есть ли способ заставить Sidekiq обработать свои задачи?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [24.Август.2020 12:57:33 UTC](https://meta.discourse.org/t/sidekiq-using-elasticache-not-processing-queued-jobs-since-discourse-upgrade/161897/2 "2020-08-24T12:57:33Z")

</div>

В какой-то момент Discourse стал требовать Redis 5. Какую версию Redis поддерживает ваш ElasticCache? Мне казалось, что в логах есть явное сообщение об этом, но я могу ошибаться.

Я проверю свой сайт, использующий ElasticCache, чтобы убедиться, что у меня нет проблем. Я довольно уверен, что этот сайт использует ElasticCache.

---

<div class="post-metadata">

### Author: ![aperez](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aperez/32/191490_2.png) [@aperez](https://meta.discourse.org/u/aperez)
#### Post date: [24.Август.2020 13:25:22 UTC](https://meta.discourse.org/t/sidekiq-using-elasticache-not-processing-queued-jobs-since-discourse-upgrade/161897/3 "2020-08-24T13:25:22Z")

</div>

Это полезная информация, спасибо. У меня версия 3 Redis, так что, похоже, мне придётся обновить её сегодня вечером.

> Я думал, что в логах было чёткое сообщение

Вполне возможно, что я ищу не в тех логах. Ни `/logs`, ни `./launcher logs app` не дают никаких указаний на это, так что, может быть, стоит посмотреть в другом месте?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [24.Август.2020 19:58:57 UTC](https://meta.discourse.org/t/sidekiq-using-elasticache-not-processing-queued-jobs-since-discourse-upgrade/161897/4 "2020-08-24T19:58:57Z")

</div>

```
/var/discourse/shared/logs/rails/production.log

```

если бы моя память и пальцы работали.

---

<div class="post-metadata">

### Author: ![aperez](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/aperez/32/191490_2.png) [@aperez](https://meta.discourse.org/u/aperez)
#### Post date: [25.Август.2020 11:58:56 UTC](https://meta.discourse.org/t/sidekiq-using-elasticache-not-processing-queued-jobs-since-discourse-upgrade/161897/5 "2020-08-25T11:58:56Z")

</div>

Очень близко. Я нашел его по адресу:

```
/var/discourse/shared/web-only/log/rails/production.log

```

Сообщение было очень понятным, как только я его обнаружил 👍🏻:

```
Вы подключаетесь к Redis v3.2.10, но Sidekiq требует Redis v4.0.0 или выше

```

Я обновился до Redis 5, и он обработал мою очередь отложенных задач. Всё отлично! Спасибо!

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [24.Сентябрь.2020 12:02:01 UTC](https://meta.discourse.org/t/sidekiq-using-elasticache-not-processing-queued-jobs-since-discourse-upgrade/161897/6 "2020-09-24T12:02:01Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
