Home » Applications » Oracle Fusion Apps & E-Business Suite » Pause Concurrent Request for constant time in PL/SQL? (Oracle Applications 11.5.8)
Pause Concurrent Request for constant time in PL/SQL? [message #285454] Tue, 04 December 2007 13:37 Go to next message
annagel
Messages: 220
Registered: April 2006
Senior Member
Does anyone know of a way to get a concurrent request to enter a paused state visible to the user and then wake up again after some predefined period of time has passed?
Re: Pause Concurrent Request for constant time in PL/SQL? [message #285953 is a reply to message #285454] Thu, 06 December 2007 03:19 Go to previous messageGo to next message
ggr88
Messages: 31
Registered: October 2007
Location: Wellington, New Zealand
Member
Hi,
Once a concurrent request is running you can't pause it.
Before you submit a request you can schedule a concurrent request to start at a predefined time (this probably meets your needs).
You can also set profile option Concurrent: Hold so that any requests submitted by a User are put on hold, so they have to manually un-hold them to get them to run.

Gareth
http://garethroberts.blogspot.com
Re: Pause Concurrent Request for constant time in PL/SQL? [message #286075 is a reply to message #285953] Thu, 06 December 2007 07:14 Go to previous messageGo to next message
annagel
Messages: 220
Registered: April 2006
Senior Member
In this case the pause had to happen after the request had started running.

Basically we are putting a block into place which prevents a certain procedure from running with certain inputs more than once at once. So we put blocking code into that procedure which checked the procedure inputs and will acquire a specific lock before proceeding if its inputs flag it as a heavy load process. Just waiting on the lock does in effect pause the request just the status is not displayed to the user and so their response will inevitably be "why is this taking so long?" In our test system we are right now experimenting with just flipping the status flag in the concurrent programs table to 'W' (paused) before trying to acquire the lock and the flipping back after....I am hesitant to do this, but like I said for now it is only in test and we are fooling around with the idea there.

Re: Pause Concurrent Request for constant time in PL/SQL? [message #286089 is a reply to message #286075] Thu, 06 December 2007 07:41 Go to previous messageGo to next message
ggr88
Messages: 31
Registered: October 2007
Location: Wellington, New Zealand
Member
Hmmm ... if you proceed, make sure u test incompatibilities (if any) are still working on that program while its in the paused state!

If it was my system, I'd probably go down a supported and non-custom solution ... I usually address "load" issues by setting up concurrent manager workshifts and limiting:
a) the number of processes
b) the requests that can run on the manager
c) the time the manager runs
anf if necessary setup multiple versions of the concurrent programs that limit the parameters so that users can't to a "blind query" type input and you can push the specific copy of a concurrent program to the correct standard manager.

I'd setup managers like:
1. Super fast gotta have output now (things like POs, Pickslips)
2. General reports
3. Slow heavy load

Concurrent programs that are heavy load go to manager 3 that can only have 1 process running at a time (so only 1 CPU taken out and all other requests queue) and even not during certain times of the day...

Just my 2c worth.

Gareth
Re: Pause Concurrent Request for constant time in PL/SQL? [message #286567 is a reply to message #285454] Sat, 08 December 2007 05:16 Go to previous messageGo to next message
ggr88
Messages: 31
Registered: October 2007
Location: Wellington, New Zealand
Member
Another thought on this ... why waste a concurrent manager process having it sitting idle in a "wait" state? That means if you have lots of requests waiting you're going to eat up the available number of processes ... so I think instead of doing the unsupported and problematic "wait" thing you should just automatically submit another request to start at some stage in the future from within the "parent" request and end the parent request.
Gareth
Re: Pause Concurrent Request for constant time in PL/SQL? [message #286943 is a reply to message #286567] Mon, 10 December 2007 10:22 Go to previous message
annagel
Messages: 220
Registered: April 2006
Senior Member
I like both of these ideas though they do both have issues with them first is obviously a someone complex solution to set-up.

the second is going to cause confusions for the users as their processes will finish and then be restarted-though we could simply notify them in the log/output file, but it is the simpler one to set-up.

I have actually set-up and tested my proposed solution in a test environment at this point so now I need to do some thinking and probably some more testing to decide which way I want to go here.

Thanks for your help,
Andrew
Previous Topic: Effective date show's diffrent when we run a request for Active users
Next Topic: PO approval heirarchy table
Goto Forum:
  


Current Time: Thu Dec 26 07:27:02 CST 2024