Symfony2/Doctrine и PostgreSQL УВЕДОМЛЕНИЕ/ПРОСЛУШИВАНИЕ

Я пишу приложение базы данных на PostgreSQL, которое состоит из двух частей:

  1. GUI — написан на Symfony/Doctrine
  2. Обработка - написано на C/libpq

Компонент обработки будет обрабатывать данные из таблицы после того, как они будут вставлены графическим интерфейсом. Однако как обрабатывающий компонент узнает об изменении? Мой ответ по умолчанию состоял бы в том, чтобы использовать команды PostgreSQL notify/listen, так как я стремлюсь избежать какого-либо опроса.

Вопросы:

  1. Есть ли способ, которым приложение Symfony может использовать команду уведомления postgresql? Doctrine поддерживает выборку Native SQL, но я не думаю, что это то, что мне нужно.

  2. Любые другие идеи?

Заранее спасибо.


person ritter    schedule 22.11.2012    source источник


Ответы (1)


Нативного SELECT должно быть вполне достаточно.

Хотя вы обычно используете оператор NOTIFY, также можно вызвать функцию pg_notify для того же эффекта.

SELECT pg_notify('key','payload');

Ваш работник может LISTEN key; как обычно и будет получать уведомления, сгенерированные таким образом, как если бы использовался NOTIFY.

person Craig Ringer    schedule 23.11.2012
comment
Спасибо, это имеет смысл. Ваше здоровье! - person ritter; 24.11.2012