CommandTimeout and async calling long running method

I’m looking for some simple example code.
Our problem is:
We have a batch tool that, at night time, calls a server method that itself calls a stored proc. Depending on the stored proc called, this can take a long time (say 30 minutes to an hour).
Inside the batch tool tasks are scheduled to run only if the previous taks is finished.

However after calling the server method (and the long running sql server stored proc) we get a timeout after 10 minutes on the server connection. The batch tool thinks the tasks is finished and starts the next task. So now instead of having a single stored proc running, there are two running that are locking the same tables.

I am aware that this is not a good design, and we are changing it, however this will take time.

I am looking at some example code where we can call the server method and wait until the method completes without getting the connection timeout.
I had a look at the Async example and tried to call the server method and just do a

while (not fAsyncService.AnswerReceived) do
begin
Sleep(5000)
end

This didn’t work, I still get a connection timeout,
I also looked at the Async_Ex example, but just couldn’t get my head around it and found no other useful examples.

Delphi Berlin
Remobjects 8
We have a custom server and clients

Error we get client side:
TROWinInetHTTPChannel.Check --> ‘The operation timed out’

Thanks in advance

regards
Paul

pls review following scenario:

  • client launches long operation. it should just start operation w/o waiting for result.
  • server notifies client about current operation state via events. it can notify about current progress or only about finishing.
  • client checks for events periodically
  • once client receives confirmation that operation is finished,it can receive result (optionally) and launch another operation.

we have several Chat samples that demonstrate the event sinks feature

Sounds interesting, where can I find these samples or any other documentation?

regards
Paul

pls see these standard ROD samples:

  • HTTP Chat
  • SuperHTTP Chat
  • SuperTCP Channel Chat

I can see how this works, unfortunately this requires changing our application server. At the moment this is not an option, but we can do this in future versions.

Are there any other options like setting the connection timout to a much longer value?

regards
Paul

try to increate TROWinInetHTTPChannel.Timeout to bigger value.