AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy IdHttpServer - mache Threads beenden sich nicht- 98% CP
Thema durchsuchen
Ansicht
Themen-Optionen

Indy IdHttpServer - mache Threads beenden sich nicht- 98% CP

Ein Thema von DataCool · begonnen am 10. Sep 2003 · letzter Beitrag vom 11. Sep 2003
 
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#1

Indy IdHttpServer - mache Threads beenden sich nicht- 98% CP

  Alt 10. Sep 2003, 16:31
Hi Leute,

ich habe ein großes Problem auf dem ich jetzt seit 2 Tagen rum reite und nicht weiter komme

Ich verwende in meiner App einen Indy(Version 9) IdHttpServer um Bilder zu einen Client zu übertragen. Der Client ist in diesem Falle ein Java-Script der eine bestimmte "Get-Anfrage" an den Server schickt, aber auch nur am Rande wichtig.

d.h. in meinen Server sind nur die Ereignisse

OnCommandGet u.
OnException

implementiert.

Jetzt das Wunder was mir so kopfzerbrechen bereitet :

Das ganze läuft eigentlich seit 4 Monaten wunderbar, natürlich mache ich an dem Rest des Programms ein paar Erweiterungen u. Bugfixing.
Jetzt hat sich nach meinen letzten Änderungen folgendes Problem ergeben :

Manchmal kommt es vor, das eine Anfrage zwar im OnConnect-Ereigniss landet , aber weder das Ereignis OnCommandGet, OnException, OnDisconnect tritt jemals für diesen Thread ein.
Das ganze wäre ja nicht so schlimm, wenn nicht beim ersten Auftreten dieses Phänomens die CPU-Belastung von 8% auf 98% steigt, wo sie dann auch bleibt.

Jetzt sagt Ihr bestimmt mach doch einfach die Änderungen rückgängig !

Das geht aber leider nicht, weil die App schon produktiv online ist und zweitens die Einstellungen des IdHttp-Server exakt die selben wie vorher sind und an der Handling Methode kann es auch nicht liegen, weil das Ereigniss OnCommandGet gar nicht eintritt.

Nach einem Tag Fehlersuche und mega-Hals hab ich mir gedacht :
Bau ich mir doch so ne Art Thread-Watch, der mir die toten Threads kickt.
Gesagt getan, doch wenn so ein Thread im Nirvana hängt lässt er sich auch nicht mit Terminate beeenden ?
Ich weiss auch nicht warum er hängt, alles was ich sagen kann ist, das er das EReignis OnConnect sauber durchläuft, aber im OnCommandGet nicht ankommt und dann scheint er wohl in seiner eigenen Execute-Schleife im Kreis zu laufen und dabei nicht mal die Eigenschaft Terminated abzufragen.

Das einzige was auch noch seltsam ist, ist das wenn die den HttpServer auf active := false setze, wird der Thread gekillt.

Ich erwarte jetzt nicht das mir jemand aus dem Stehgreif den Fehlergrund bzw. die Lösung sagen kann.

Aber vielleicht hat jemand ne Idee wie ich der Sache auf den Grund gehen kann ? Denn sonst bekomm ich bald einen Krampf

Danke Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz