Распространение событий из устаревшего MS SQLServer в Rails

У меня есть приложение rails, которое интегрируется в систему на базе Legacy MS SQLServer. Мне нужно создать какую-то подписку на публикацию, где Legacy SQLServer генерирует события, а приложение Rails подписывается на события.

События, которые мне нужно сгенерировать, будут вызваны пользователями устаревшего приложения, наблюдатели не помогут. В основном мне нужно обнаружить вставку таблицы, вызванную устаревшим приложением, и передать ее в приложение rails.

Я могу настроить TRIGGERS на Legacy SQLServer, который в конечном итоге может вызывать что-то через xp_cmdexec.

Я полагаю, что какой-то драгоценный камень публикации/подписки на основе Ruby, где исполняемый файл ruby ​​​​на коробке SQLServer (в бэк-офисе) может публиковать события, а приложение Rails (в облаке) может подписываться на них. Производительность не имеет значения, в среднем от 10 до 30 вставок таблиц В ДЕНЬ! Я контролирую брандмауэр, так что я могу пройти через любой протокол.

У меня есть много устаревших таблиц SQLServer, определенных в приложении rails через адаптер SQLServer, но приложение rails не генерирует интересующие меня вставки таблиц.

Я видел хукера, муравьев, руби-mqtt, потом я начал видеть еще много-много :‹

У кого-нибудь есть рекомендация?


person RadBrad    schedule 27.08.2012    source источник
comment
Какая отзывчивость вам нужна? Ваше приложение может время от времени опрашивать таблицу на наличие новых записей.   -  person Mark Thomas    schedule 28.08.2012
comment
Хм, например, 15 секунд было бы нормально, так что вы говорите, что я просто постоянно считаю записи в интересующей меня таблице, и когда счет увеличивается, это мое событие. Да, это может сработать. Я мог бы перейти на более высокий интервал, скажем, каждые 60 секунд. Спасибо, отличный пример не переусердствовать   -  person RadBrad    schedule 28.08.2012
comment
Да, напишите это как ответ, я четко заявил, что производительность не имеет значения. Ваша рекомендация — очень простое решение, ЕСЛИ требование к скорости отклика низкое, что в моем случае ОЧЕНЬ низкое, я мог бы даже пройти 5 минут между проверками и все в порядке. «Принятый ответ» ждет!   -  person RadBrad    schedule 28.08.2012


Ответы (1)


Если скорость отклика не является главной задачей, может быть проще всего периодически проводить опрос приложения Rails на наличие новых записей. Если в базе данных есть метки времени или, по крайней мере, идентификаторы автоинкремента, вы можете быть уверены, что обработаете только новые. В противном случае вам придется использовать счетчик записей.

person Mark Thomas    schedule 28.08.2012