NetTalk Central

Author Topic: Long reports timing out  (Read 1849 times)

terryd

  • Hero Member
  • *****
  • Posts: 759
    • View Profile
    • Davcomm
    • Email
Long reports timing out
« on: June 02, 2010, 04:39:58 AM »
I use the standard Clarion pdf report generator.
If the report takes a longer than normal time I get a message that the server has disconnected.
I use p_web.Noop() in the take next record embed and this seems to keep the connection alive, but when it comes to the 'creating page n of n' message after a number of pages I get the timeout. AFAIK there is nowhere to place the p_web.NoOp() method while the pdf is being created. Am I correct? I hope not.
Another query
I use Clarion source code templates to do various operations e.g. totalling values etc. Because this is Clarion source code and not netweb source code I can't use p_web.noop() in the source code. Is there another way to keep the connection alive while the source code is processing. I know that the code continues processing even though there is no connection but there is no way to tell the user that he should wait once he has been disconnected. He can reconnect immediately and he will hang if he tries to do the same operation again because he thought it failed.
Terry Davidson
Windows 10 64 bit/Windows7 64bit
Clarion 9.1.11529/Clarion10 12567
Nettalk 913
Nettalk 1015
StringTheory267/Winevent515/XFiles298/MessageBox239/Cryptonite186

Bruce

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 11191
    • View Profile
Re: Long reports timing out
« Reply #1 on: June 02, 2010, 07:52:28 AM »
Hi Terry,

Any operation that takes longer than 30 seconds is likely to time out the browser. So, as you noted, calls to p_web.Noop() are a good idea.

Yes, there may be places, where you can't add that code - although scratching around for an embed point sometimes helps. If all else fails then you need to adopt a different approach - for example generating a intermediate web page, or emailing the report to the user etc.

There's no other way to keep the connection alive, so I recommend adding embed points to your code templates, and then using the optional parameter approach to pass p_web to those procedures.

cheers
Bruce