powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
23 сообщений из 23, страница 1 из 1
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122071
Mixon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый!
Имеем ряд систем скидывающих данные в очередь, есть ли способ не по таймеру щупать очередь, а по событию(появление новой записи в очериди) сразу вычерпывать ее из очериди, если есть возможность дать ссылку на материал описфывющий данный процесс, буду признателен!

Заранее СПАСИБО.

ЗЫ сервер на винде и не хочется плождить службы.
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122120
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon
ЗЫ сервер на винде и не хочется плождить службы.

Это ты хочешь чтобы кролик сам выполнял кастомный запрос на сиквеле? Я совсем не думаю что он это умеет. Что такого страшного в том чтобы "плождить" службы?
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122121
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon,

для .NET реализуете подписку используя IBasicConsumer

у потребителя есть событие Received, подписываетесь на него, тогда по мере поступлений сообщений в очередь будете получать уведомление.


вообще в документации к зайцу все достаточно подробно изложено.
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122122
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

вопрос же не про конкретную реализацию на C# )

Mixon
не хочется плодить службы.
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122126
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Mixon, а где здесь MS SQL?
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122129
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик,

да я шарпы как пример привел, там же без разницы на чем будет реализован потребитель :)
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122131
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
да я шарпы как пример привел, там же без разницы на чем будет реализован потребитель :)

На шарпе придется "плождить" службы, а в данном случае это неприемлимо. Может быть, как-то возможно засунуть это в сиквельный CLR, но тут я не знаток.
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122133
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

да бэкграундного клиента в CLR то засунуть можно, но только у сиквела есть особенность что он по своей хотелке может appdomain выгрузить, поэтому придется еще рисовать некую систему проверки работает ли клиент.

имхо это лишний геммор на стороне сиквела, я бы как раз выносил обработчик очереди на отдельный хост в виде win-service
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122137
Mixon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за участие!

ЗЫ сервер на винде и не хочется * плодить службы.
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122139
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon
Всем спасибо за участие!

ЗЫ сервер на винде и не хочется * плодить службы.

на винде без службы такая архитектура плохо выглядит
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122151
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
я бы как раз выносил обработчик очереди на отдельный хост в виде win-service
+
monstrU
на винде без службы такая архитектура плохо выглядит
+
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122155
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon,

сделал пакет SSIS, читающий сообщения из очередей кролика посредством скрипт таска на C#, меня вполне устраивает.
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122221
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

"может appdomain выгрузить" - даже static выгружает? Вроде бы не должен, иначе может нарушиться функционирование. Нет информации?
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122230
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,

да он может выгружать даже static.

обычно он это явно делает когда сталкивается с нехваткой памяти.

я встречал такое поведение, при этом с этим боролись на уровне кода используя статический финализатор, последующую сериализацию в файл и загрузку сборки заново.

но вот что будет если памяти даже на сериализацию хватать не будет я хз.
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122245
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

Надеюсь, сборка будет загружена при первом обращении, но я не уверен. Пока что с проблемой не сталкивался.
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122269
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,

сборка загруженна то будет, но вот если вы к примеру в каком либо статическом объекте храните состояние, то без дополнительных манипуляций вы его так просто не восстановите.

хотя если вы столкнетесь с проблемой что сиквел начал форсированно помечать домены для выгрузки, есть вероятность что проблема будет иметь некоторый растянутый во времени характер, и загрузка сборки при вызове методов сборку то загрузит, а сервер опять ее пометит для выгрузки.
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122651
Mixon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Утро доброе!

У важаемые Модераторы, прошу перенести тему в раздел C#?WinForm.

Я не много разобрался с получением данных из очереди, все хорошо кроме двух моментов:
1) Продукт, от которого я должен получать сообщения, не сильно утруждает себя организацией выделенных очередей для "Сущностей", они пошли по пути одна очередь на вход и одна очередь еа выход, из этого мы имеем следующию проблему, пока все сообщения не переберешь, не получешь интересующие тебя данные "Сущность"(хотя они оставляют служебные маркеры);
2) Из за первого пункта мне пришлось использовать подключение при котором я только читаю сообщения из очереди, отбираю интересующие меня и обрабатываю их и маркерую как прочитанные методом BasicAck , все хорошо до перезапуска, после повторного запуска я получаю доступ ко всем сообщениям в том числе и к которым применил метод BasicAck .

Подскажите что я делаю не так?
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122670
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon,

это очередь, а не массив. Из нее нельзя выбирать только нужные сообщения подобно изюму из булочки. Первое неподтвержденное сообщение означает, что все сообщения после него тоже не подтверждены.
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40122930
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mixon,

Какие проблемы использовать одну точку обмена и кучу очередей?
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40123032
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
fkthat,

да бэкграундного клиента в CLR то засунуть можно, но только у сиквела есть особенность что он по своей хотелке может appdomain выгрузить, поэтому придется еще рисовать некую систему проверки работает ли клиент.

имхо это лишний геммор на стороне сиквела, я бы как раз выносил обработчик очереди на отдельный хост в виде win-service



Сделать на SQLCLR + Service Broker-ский сервис и пусть он возбуждается время от времени и вызывает SQLClR-ную процедуру чтения и сброса в таблицы
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40123084
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

У автора требование - "сразу".
Ваш вариант же мало чем отличается от SSIS-пакета со скрипт-компонентом
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40123117
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик
Ролг Хупин,

У автора требование - "сразу".
Ваш вариант же мало чем отличается от SSIS-пакета со скрипт-компонентом


Для меня мой вариант лучше тем, что не нужен паровоз с SSIS. Но «Одному нравится арбуз, другому свиной хрящик.»

Кроме того, требование "сразу" - очень размытое понятие. Видимо, автор уверен, что как только прилетает сообщение в очередь, так сразу шлется нотификация, т.е. прямо в режиме реального времени.
Но если автор почитал документацию по RabbitMQ, покрутил примеры, то понял бы, что его поняти "сразу" в мире не существует.

Далее: хорошо, пусть сразу забираются сообщения из очереди и пишутся в таблицу - пишутся тоже "сразу"? Видимо, автор считает, что SQL Server тоже прямо real-time обработчик.
Что с записанными сообщениями дальше происходит?
...
Рейтинг: 0 / 0
Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
    #40123166
.Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

У SSIS перед кодом C# есть плюс в том, что некоторые полезные вещи там уже сделаны (например, логирование) либо легче сделать и поддерживать (трансформации, запись результатов).

Проблема автора в другом: он хочет получать часть публикуемых сообщений. Это делается легко, если публикующая система шлет данные в обменник. В противном случае (публикация в очередь) получатель обязан обрабатывать все сообщения.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Чтение данных из RabbitMQ и запись данных в таблицу SQL Server
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]