2016-05-04 45 views
1

我正在嘗試使用Python連接到Oracle高級隊列。使用Python連接到Oracle AQ

我想要做的基本原理是這樣的:已經建立了一個隊列,每小時發送一次消息,我希望使用我編寫的代碼對此消息進行處理並分析。

我有憑據(主機,端口,sid,用戶& passwn),但我不知道如何設置連接並開始消費。

從我在網絡上的以前的問題可以理解的cx_oracle模塊應該有能力做到這一點,但我無法弄清楚如何在實踐中做到這一點。

如果你有任何教程的鏈接顯示如何完成,或者你自己有一些示例代碼將不勝感激。我有一些RabbitMQ隊列的實驗,但似乎有很多Oracle AQ的例子和教程,因此我的問題在這裏。

回答

1

cx_Oracle高級隊列文檔是here

一個例子是這樣的:

# setup connection 
connection = cx_Oracle.Connection('connection string') 

# get the options 
options = connection.deqoptions() 

# set relevant options: 
options.navigation = cx_Oracle.DEQ_FIRST_MSG 
options.wait = cx_Oracle.DEQ_WAIT_FOREVER 

# continuously deque  
while connection.deq(NAME_OF_QUEUE, options, messageProperties, payload): 
    print(payload) 

安東尼Tuininga(cx_Oracle作者)對Github一個更完整的例子。

+0

非常感謝! – HWR