2012-11-22 15 views
3

我寫上的PostgreSQL數據庫的應用程序,它有兩個部分:的Symfony2 /教義和PostgreSQL NOTIFY/LISTEN

  1. GUI - 寫在的Symfony /原則
  2. 處理 - 用C/libpq的

處理組件將在處理由GUI插入的表格後處理數據。但是,處理組件如何知道有變化?我的默認答案是使用PostgreSQL通知/監聽命令,因爲我非常希望避免某種輪詢。

問題:

  1. 是否有某種方式使Symfony的應用程序可以使用PostgreSQL的通知命令? Doctrine支持原生SQL選擇,但我不相信這是我所需要的。

  2. 還有其他想法嗎?

在此先感謝。

回答

3

原生SELECT應該是完全足夠的。

雖然通常使用NOTIFY語句,但也可以調用pg_notify函數獲得相同的效果。

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

你的工人可以LISTEN key;正常,並會收到通知,以這種方式產生的一樣,如果NOTIFY使用。

+0

謝謝,這是有道理的。乾杯! – ritter