Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
THTTPRIO Timeout hk
#1
Merhaba,

Bir servis kullanımında , belirli düzeylerde timeout gerçekleşiyor Connect anında, Receive anında , Send anında rio nesnemin hangi adımda timeouta düştüğünü nasıl tespit edebilirim ?

sırasıyla zamanları farklı vererek tespit etmeye çalışıyorum,

Aşağıdaki blokta,  bazı kayıtlar 240 , 241 saniyelerde timeout veriyor anlıyorum ki ConnectTimeout anında timeout oluyor

ama bazı kayıtlarda 165. saniyede timouta düşüyor ne oluyorda burada timeouta düşüyor olabilir ?

var
MyRio: THTTPRIO;
begin    
MyRio := THTTPRIO.Create(nil);
    MyRio.OnAfterExecute := RioResponse;
    MyRio.OnBeforeExecute := RioRequest;
    SetTimeOut(MyRio,[1,2,4]);

*
*
end;

procedure SetTimeOut(var MyRio: THTTPRIO;Timeout : array of Integer);
begin
 MyRio.HTTPWebNode.ReceiveTimeout := Timeout[0] * (1000 * 60);
 MyRio.HTTPWebNode.SendTimeout    := Timeout[1] * (1000 * 60);
 MyRio.HTTPWebNode.ConnectTimeout := Timeout[2]* (1000 * 60);
end;
WWW
Cevapla
#2
Yanlış anlamadıysam adım adım işlem sürelerini GetTickCount ile alıp, hata anında bir dosyaya log olarak basabilirsiniz  Rolleyes

Ayrıca log demişken şu kütüphaneyi de ekliyeyim: danieleteti/loggerpro
Cevapla
#3
(06-08-2018, Saat: 14:07)edo Adlı Kullanıcıdan Alıntı: Yanlış anlamadıysam adım adım işlem sürelerini GetTickCount ile alıp, hata anında bir dosyaya log olarak basabilirsiniz  Rolleyes

Ayrıca log demişken şu kütüphaneyi de ekliyeyim: danieleteti/loggerpro

İşlemin başlangıcından sonuna işlem sürelerini alıyorum zaten yukarıda bahsettiğim saniyeler bu şekilde alıyorum ancak bunlardan farklı zaman dilimlerinde de timeout oluşabiliyor ,
Log olarakta @Tuğrul HELVACI tavsiyesi üzerine Codesite kullanıyorum efsane bir şey.
WWW
Cevapla
#4
(06-08-2018, Saat: 15:41)yhackup Adlı Kullanıcıdan Alıntı:
(06-08-2018, Saat: 14:07)edo Adlı Kullanıcıdan Alıntı: Yanlış anlamadıysam adım adım işlem sürelerini GetTickCount ile alıp, hata anında bir dosyaya log olarak basabilirsiniz  Rolleyes

Ayrıca log demişken şu kütüphaneyi de ekliyeyim: danieleteti/loggerpro

İşlemin başlangıcından sonuna işlem sürelerini alıyorum zaten yukarıda bahsettiğim saniyeler bu şekilde alıyorum ancak bunlardan farklı zaman dilimlerinde de timeout oluşabiliyor ,
Log olarakta  @Tuğrul HELVACI  tavsiyesi üzerine Codesite kullanıyorum efsane bir şey.

Eğer sorun network kaynaklı ise Allah kolaylık versin   Rolleyes

Kodda nerelere log koyduğunuz gözükmediği için 165 ya da 240. saniyenin nereye denk geldiğini anlıyor musunuz, anlamıyor musunuz bilemiyorum. Eğer hangi satırlarda sorun olduğunu görüyor ama niye oluyoru merak ediyorsanız; network, virüs ya da antivirüs ya da başka sebepleri olabileceği gibi bunları tesbit etmek de çok kolay olmayabilir.  Sad
Cevapla
#5
Merhaba
Basit düşünerek sorunu anlamaya çalışalım.
Belki de süreler işlemiyor. ( Matrix filmindeki aslında kaşık yok repliği gibi oldu ama idare edin ) 

Bu linkte sürelerin değerlendirilmediğine ilişkin bir soru sorulmuş cevap olarak InternetSetOption ile bu süreleri önce dışarıdan verilmesi salık verilmiş. 


Before calling the web service call InternetSetOption with the following parameters:

InternetSetOption(nil, INTERNET_OPTION_CONNECT_TIMEOUT, Pointer(@conntimeout), SizeOf(conntimeout));
InternetSetOption(nil, INTERNET_OPTION_SEND_TIMEOUT, Pointer(@sendtimeout), SizeOf(sendtimeout));
InternetSetOption(nil, INTERNET_OPTION_RECEIVE_TIMEOUT, Pointer(@recvtimeout), SizeOf(recvtimeout));

Başarılar
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi RIO da THTTPRio.WebNode.BeforePost Değişikliği vkamadan 4 2.873 26-12-2021, Saat: 15:18
Son Yorum: idealist
Photo Çözüldü - ESEGECE Socket IO HeartBeat Timeout exceeded Hatası KarahanMesut 4 2.374 17-09-2020, Saat: 15:49
Son Yorum: KarahanMesut
  THTTPRIO Hk yhackup 8 7.345 17-01-2018, Saat: 10:27
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi