Home » Server Options » Streams & AQ » How to dequeue after 30minutes it has been queued? (oracle 11g)
How to dequeue after 30minutes it has been queued? [message #635620] Thu, 02 April 2015 16:59 Go to next message
gentleman777us
Messages: 122
Registered: April 2005
Senior Member
Hi,

My task is to dequeue message if it is past 30 minutes after it has been qued. ie. How can I check the record in queue table if it has passed 30 minutes( should I take into account the enque time stamp?)

Iam new to advanced queue, I would appreciate if someone can provide me an example.

Thanks
Re: How to dequeue after 30minutes it has been queued? [message #635621 is a reply to message #635620] Fri, 03 April 2015 01:37 Go to previous messageGo to next message
John Watson
Messages: 8922
Registered: January 2010
Location: Global Village
Senior Member
When you dequeue, check the value of message_properties_t.enqueue_time.
Re: How to dequeue after 30minutes it has been queued? [message #650567 is a reply to message #635620] Wed, 27 April 2016 13:38 Go to previous message
jyeager
Messages: 4
Registered: April 2016
Location: Nashville
Junior Member

How about enqueuing the message with a delay?
At the time of enqueue, you specify a time 30 minutes in the future.
The message remains in the queue with a state=1 until the delay time is reached where one of the aq_tm_processes converts it to an active event (state=0) and it's available for dequeue.
Previous Topic: URGENT: Oracle queuing with poor performance
Next Topic: Question about CDC
Goto Forum:
  


Current Time: Thu Mar 28 15:09:50 CDT 2024