Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> event based scheduling and queues
10gR2 on linux
We have a queue that accepts xml documents. Documents are members of sets. No document can be processed unless the entire set has been enqueued. We indicate this by a 'isLastInSet' attribute in the payload. We were hoping to set an event based job that is triggered this attribute having a 'true' value.
In testing this out we discovered that events can be ignored when the job that wakes up is already active. We ran a loop that enqueued 20,000 items that all had isLastInset = 'true'. The action in the job was to simply insert a row into a table. After executing the test, there were only 224 rows inserted. This obviously leaves open the possibility that many items will be left unprocessed.
We need a solution that ensures all sets are processed as soon as the last set member is enqueued.
Has anyone had similar requirements? ...and if so, what was the implementation? did you have a polling process that wakes up every so often and evaluates the entire queue?
thanks,
chris
-- http://www.freelists.org/webpage/oracle-lReceived on Fri Dec 09 2005 - 13:27:22 CST
![]() |
![]() |