我有一份工作,將提交其他工作。我已經安裝了我的pl/sql過程,以使用dbms_alert.register註冊n個作業。這些作業中的每一個都會發送一個dbms_alert.signal。信號後我立即發佈了一個提交。Oracle DBMS_ALERT Waitany延遲
這是問題所在,當我的程序到達dbms_alert.waitany時,沒有信號會被返回5秒(幾乎每次都會很快)。該程序將提交另外n個工作,並再次等待約5秒鐘不會接收任何信號。
我已經完成了我的研究,並且已經看到dbms_alert.waitany的默認輪詢時間間隔爲5秒。這可以通過使用dbms_alert.set_defaults過程來更改。我已經做到了,沒有任何效果。我用dbms_alert.set_defaults(1)散佈了我的代碼(也嘗試過600),試圖讓信號少於5秒,但沒有任何效果。
任何人都可以幫助我嗎?
感謝
我想你應該只需要在給'waitany'打電話之前調用'set_defaults'。在線文檔和其他來源對此過程相當不清楚 - 「敏感度」參數是以秒還是hsecs表示還不清楚。 –
也看到:「WAITANY呼叫使用輪詢循環來檢測警報......輪詢循環以1秒間隔開始,指數增加到30秒。」 - 沒有提及set_defaults。 –