Вы обрабатываете сообщения, а потом кладете их обратно в очередь?

Я вас правильно понял? А зачем?

34 ответов

25 просмотров

Чтобы не поднимать контейнер с редисом, думал, что хватит кролика. Вощем, убрал эту очередь, заменил на комбинацию rpush/blpop и все ок

Владислав-Килин Автор вопроса
hound of hell
Чтобы не поднимать контейнер с редисом, думал, что...

Я все равно не понял, если сообщение обработано, зачем его рекьюить? Или я совсем не понимаю что вы пытаетесь сделать, или вы совсем не понимаете что делает кролик

Владислав Килин
Я все равно не понял, если сообщение обработано, з...

В очереди набор ресурсов, unacked сообщение это "заблокированный" ресурс, nack разблокировка

hound of hell
В очереди набор ресурсов, unacked сообщение это "з...

Так у редиса есть нормальные инструменты для локов.

hound of hell
Редис я в итоге и взял

Но вы все равно используете не то, что надо.

Vadim
Но вы все равно используете не то, что надо.

Почему? Мне нужна как раз очередь, ресурсы должны блокироваться последовательно

Владислав-Килин Автор вопроса
hound of hell
Почему? Мне нужна как раз очередь, ресурсы должны ...

Вы можете последовательно в очереди блокировать только голову очереди, которая будет всегда одна

Vadim
Да не очередь это. Обычные локи.

И на каждый ресурс отдельный ключ заводить? Я не знаю, сколько ресурсов, их может быть 10, а может быть 10к

Владислав-Килин Автор вопроса
Владислав Килин
10к ключей где угодно это вообще ниочем

Я не хочу их менеджерить, если могу тащить из очереди по одному

Владислав Килин
Вы можете последовательно в очереди блокировать то...

А в чем проблема с nack? Сообщение вернётся в очередь, не понимаю

hound of hell
Да

Что вы делаете с этой ссылкой?

Vadim
Что вы делаете с этой ссылкой?

Использую, после использования она должна быть доступна для следующей задачи

Владислав-Килин Автор вопроса
hound of hell
А в чем проблема с nack? Сообщение вернётся в очер...

Проблема в том, что кролик это очередь, а не хранилище. Сообщение обработано успешно - его надо удалять. Как только в вашей очереди будет достаточно много сообщений или обработка будет достаточно быстрой, вы начнете буксовать на месте и не сможете добраться до хвоста.

hound of hell
Использую, после использования она должна быть дос...

А задачи строго последовательные по ссылкам или можно параллельно?

Vadim
А задачи строго последовательные по ссылкам или мо...

Можно как угодно, главное чтобы был лимит на использование ресурса

Владислав Килин
Проблема в том, что кролик это очередь, а не храни...

При удалении, нужно будет снова отправить в очередь, на этом может отвалиться воркер раньше, чем вернёт

hound of hell
При удалении, нужно будет снова отправить в очеред...

Не надо удалять. Вы знаете заранее, сколько действий со ссылкой надо сделать?

Vadim
Не надо удалять. Вы знаете заранее, сколько действ...

Не знаю и не знаю, сколько это займёт времени

hound of hell
Не знаю и не знаю, сколько это займёт времени

Ну можете в двух словах рассказать, что за сервис хоть? Кажется, что кролик подойдет, но не хватает информации.

Владислав-Килин Автор вопроса
hound of hell
При удалении, нужно будет снова отправить в очеред...

При удалении чего? Обработали сообщение - удалите его из очереди, не надо туда ничего добавлять. Еще раз, очередь это не хранилище, если вам надо хранить ресурсы и иметь к ним доступ - делайте это в хранилищах, в базах данных, в кешах, в чем там еще.

Vadim
Ну можете в двух словах рассказать, что за сервис ...

Неизвестное кол-во токенов, лимитирую так кол-во запросов по одному токену

Vadim
Ну можете в двух словах рассказать, что за сервис ...

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

Владислав-Килин Автор вопроса
hound of hell
Неизвестное кол-во токенов, лимитирую так кол-во з...

Вы опять про решение говорите, скажите что вы делаете вообще?

Владислав-Килин Автор вопроса
hound of hell
Это детали бизнес процесса

Да, они нам и нужны, чтобы дать хороший совет

d.
если ресурсы однородные и таки хочется кролик, тог...

Думал о двух очередях, показалось, что усложнять на ровном месте не имеет смыслп

Владислав Килин
Да, они нам и нужны, чтобы дать хороший совет

Спасибо, вы уже помогли, не буду использовать кролик таким образом

Похожие вопросы

Обсуждают сегодня

Всем привет! Использую gitlab-ci. Настроил gitlab-agent для деплоя в куб. При деплое проекта в логах такая ошибка: Executing deploy plan failed to watch "ns:my-project/Ingress...
Konstantin Moiseev
4
Коллеги, добрый день, у меня небольшой вопрос: А что дает ключ —env у команды werf bundle apply? Если в werf converge он задавал имя namespace и чарта, то в werf bundle apply ...
Сергей Сухорада
14
А mirror в кубер получилось у кого-нибудь добавить добавить?
Evgheni Mad
7
Всем привет! Собираю образы при помощь werf export. Также есть стейдж werf cleanup. Я ожидаю, что werf будет сам чистить ранер, но этого не происходит. Я получаю при ручном з...
Макс
5
Это у всех так или только у меня? Чё происходит?
სერგეი ქრისტოვი
8
Всем привет! Пытаюсь через werf деплоить оператор Crunchy Postgres - деплой происходит нормально. А вот удаление (werf dismiss) не работает, т.е. команда зависает, вывода ника...
Ⲥⲉⲣⲅⲉύ Ⲗⲁцыⲅυⲏ 🎩
5
Добрый день, подскажите как интегрировать данные для авторизации в registry из variables gilab проекта при деплое helm чарта уже в кластере использую шаблон https://ru.werf.i...
Artem S
11
При выполнении werf cleanup: ┌ Cleanup unused stages │ ┌ Saved stages (36/37) │ │ ┌ found in the git history (36) ... ... ... Подскажите пожалуйста, чем конкретно может быть...
Alexander Kozharsky
1
Добрый день! Кто реализовывал авторизацию по сертификатам? Я уже не знаю куда копать. Все сертификаты валидные, но постоянно получаю ошибку: EXTERNAL login refused: connection...
Murmuring
2
Добрый день! Все рекомендации, о которых пишет Werf, перепробованы?
Alexander Kozharsky
3
Карта сайта