Toon posts:

[ASP] Timeout opvangen *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik krijg bij IS (Purmerend) op een vd sites een timeout:

Active Server Pages error 'ASP 0113'
Script timed out

/stats/online.asp

The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.

---
Hoe kan ik dit userfriendly oplossen? Ik wil graag een melding met 'de site is om technische reden even niet bereikbaar', ipv deze suffe IIS-melding.

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

In de Internet Service Manager, kan je zelf je fout melding aanpassen... moet je daar ff in rond neuzen

-edit-

Default website,
properties,
custom errors
en dan de goede foutmelding zoeken, en daar dingen in veranderen.. appeltje eitje..

[ Voor 44% gewijzigd door Jaspertje op 12-09-2003 13:57 ]


Verwijderd

Topicstarter
Jaspertje: het is een site die bij IS wordt gehost (www.is.nl) . Dus, jouw oplossing is zeg maar niet mogelijk.

[ Voor 53% gewijzigd door Verwijderd op 12-09-2003 14:06 ]


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Verwijderd schreef op 12 September 2003 @ 14:03:
Jaspertje: het is een gehoste site. Dus.
Dan zou ik je alleen nog kunnen aanraden om de script time langer te zetten zodat je die foutmelding niet krijgt..

mischien een timer mee laten lopen die als iets langer dan x duurt zelf naar een error page gaat?

anders zou ik het ook niet weten

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Puur uit nieuwsgierigheid; ik ben wel benieuwd wat voor een enorm zware berekening er uitgevoerd moet worden dat je een script timeout krijgt. :)

Eventueel een optie; mijn host ondersteunt het bijvoorbeeld ook, is om een script te laten draaien mbv een taakplanner?

[ Voor 30% gewijzigd door gorgi_19 op 12-09-2003 14:28 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Ik meen dat je met zoiets als

Server.ScriptTimeout = 123456

de.....ehhhh...Server.ScriptTimeout kan wijzigen. Ik weet alleen niet of dit dan voor de hele server geldt etc.

Verwijderd

Topicstarter
Elk script timed nu 'out'... ik vermoed dat er op deze cohosting een andere site ergens een infinite loop heeft lopen die de processoren gek maakt.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:17

TeeDee

CQB 241

Dan is dat heel stom geregeld bij IS.nl. Als een andere site een "loopje" maakt waardoor de hele bak onderuit gaat.

Verder:
1. geeft Timeout geen error object? Dan kan je daar iets met een errorhandler doen.
2. Jaspertjes oplossing werkt ook wel volgens mij (timertje)
3. Wat voor script is dat? Stats script uit je db oid? Zo ja, dan kan je evt. kijken naar een buffered output. Kan ook schelen.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • majornono
  • Registratie: Juni 2002
  • Laatst online: 04-04 23:16
M.i. is het onzin dat de script timeout afgevuurd wordt doordat een andere pagina de server overbelast. De script timeout geldt nl. voor de processortijd van het proces dat het ene request afhandeld.
Wat je ook kunt doen is voorkomen dat de script timeout op jouw pagina niet voorkomt. Als er een loop in voorkomt met een lange bewerking zou je zo iets kunnen proberen:
ASP:
1
2
3
4
5
6
7
8
dim dtNow
       dtNow = Now()

while true
       ...

       Server.ScriptTimeout = DateDiff("s", dtNow, Now()) + 200
wend

Problem Exists Between Chair And Keyboard


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Imho is dit gewoon puur symptoombestrijding en kan je net zo goed de script timeout op 1000000 zetten; bij wijze van spreken. Dit is hetzelfde principe.

Oftewel: Wat er niet is, bestaat niet.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • majornono
  • Registratie: Juni 2002
  • Laatst online: 04-04 23:16
niet helemaal waar. Als je een loop hebt waarvan je weet dat deze lang duurt, kun je hem in de loop best verlengen. Nadat de loop klaar is, houd je ermee op, waardoor timeouts in de rest van de pagina alsnog op kunnen treden.

Ik heb dit bijv. gebruikt bij het controleren van hyperlinks. Met het socketobject (die zijn eigen timeout heeft voor requests) vragen aan een webserver of de pagina er is. Als er een groot aantal links zijn om te controleren, dan duurt dit gewoon erg lang

Problem Exists Between Chair And Keyboard


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

majornono schreef op 13 September 2003 @ 10:27:
Ik heb dit bijv. gebruikt bij het controleren van hyperlinks. Met het socketobject (die zijn eigen timeout heeft voor requests) vragen aan een webserver of de pagina er is. Als er een groot aantal links zijn om te controleren, dan duurt dit gewoon erg lang
Hier zijn naar mijn idee betere methoden voor te maken. Inderdaad duurt dit erg lang; ik weet alleen niet of je dit met via een asp pagina moet regelen. Ik denk dat je dit veel beter kan door door middel van een scriptje, welke dagelijks door de taakplanner wordt aangeroepen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • majornono
  • Registratie: Juni 2002
  • Laatst online: 04-04 23:16
gorgi_19 schreef op 13 september 2003 @ 10:38:
[...]
Ik denk dat je dit veel beter kan door door middel van een scriptje, welke dagelijks door de taakplanner wordt aangeroepen.
Klopt. Dat zou ik normaal gesproken ook doen. Maar de controle is onderdeel van ons CMS, dus onze users moeten hun eigen pagina's kunnen controleren op dode links

Problem Exists Between Chair And Keyboard

Pagina: 1