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

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

34 ответов

43 просмотра

Чтобы не поднимать контейнер с редисом, думал, что хватит кролика. Вощем, убрал эту очередь, заменил на комбинацию 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.
если ресурсы однородные и таки хочется кролик, тог...

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

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

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

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

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

Добрый день! Удалил все файлы с переменными из проекта, получил Error: release deploy: process resources: error validating adoptable resources: adoption validation failed: re...
Evgheni Mad
2
@aigrychev, @ilya_lesikov добрый день! а поддерживает ли werf helm xxxx или werf bundle xxxx работу с сабчартами через http-прокси? (сработает ли использование HTTP_PROXY/HTTP...
Сергей Голод
4
А как подмаунтить каталог если я не буду стапель юзать, а просто Докерфайл?
yoshi kakbudto
3
Привет! Вопрос про werf helm Приложение деплоится через werf helm upgrade --atomic Иногда(все условия для воспроизведения до конца непонятны, но есть версия, что это происходи...
𝓐𝓵͢͢͢𝓮𝔁 C
2
Всем привет. Werf v2.10.5 При удалении релиза вместе с неймспейсом (werf dismiss --namespace namespace_name) Сыпятся ошибки ┌ Waiting for resources elimination: namespaces/rel...
Vitalik Petrov
1
Добрый день, подскажите пожалуйста, а как поле project (в werf.yaml) параметризовать ? werf converge —project <APP_NAME> в одном общем репо держим 1 хельм чарт и деплоим с ...
Sulaymon
5
Всем привет. Сегодня добавили в приложение дополнительный образ nginx, в который докидывается системная статика прям в образ. При деплое бандлами деплоилось 200+ джоб(клиентов...
Владимир Муковоз
6
Вопросик не совсем werf. Но вдруг мы подскажите воркэраунд или ещё что-нибудь. Могу ли я как-нибудь в моменте деплоя внутри heml рендера получить хэшсумму файла шаблона (./tem...
Alex Подрябинкин
11
Здрасьти! Делаю Buildah+Docker-multistage. В первом имадже делаю COPY кода. Из них генерю файлы: 31229b03ef2ed26c5e02d0e8320f8a04 ./package.json a0b92a158d0bed9570350af0ed3e...
Vyacheslav
4
Друзья, добрый день. Прошу подсказать с базовым вопросом по использованию CI переменных gitlab в werf.yaml. Хочу в beforeInstall использовать env переменную с токеном. Мне нуж...
Anton Zol
10
Карта сайта