Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Long running Rest API Call mit THTTPClient (https://www.delphipraxis.net/196881-long-running-rest-api-call-mit-thttpclient.html)

Christoph Schneider 28. Jun 2018 10:34

AW: Long running Rest API Call mit THTTPClient
 
Ja, ich beschäftige mich im Moment mit der Anbindung von der Google Firebase Realtime DB. Dort werden Long running Rest API Calls für Server Events eingesetzt.

Details gibt es hier:
https://firebase.google.com/docs/ref...tion-streaming

Ich bin mir am überlegen, ob ich meine Library für Firebase/Firestore und Google-Storage nach Fertigstellung als Open-Source Projekt auf Git verfübar machen soll.
Wer Interesse am Thema hat, darf sich gerne bei mir melden.

Rollo62 28. Jun 2018 13:01

AW: Long running Rest API Call mit THTTPClient
 
Gemeldet :thumb:

TiGü 28. Jun 2018 15:56

AW: Long running Rest API Call mit THTTPClient
 
Ich muss nochmal simpel nachfragen:

Ein Aufruf von ExecuteAsync von dem TRESTRequest genügt deinen Anforderungen nicht?

Delphi-Quellcode:
var
  CompletionHandler: TProc;
  MyThread: TRESTExecutionThread;
begin
  CompletionHandler := procedure
    begin
      Memo1.Lines.Add(RESTResponse1.Content);
    end;

  MyThread := RESTRequest1.ExecuteAsync(CompletionHandler, True, False);
  //
  //  ... irgendwas machen...
  //
  MyThread.Free;

Christoph Schneider 29. Jun 2018 15:58

AW: Long running Rest API Call mit THTTPClient
 
Ich fand leider noch keine Zeit TRESTExecutionThread mal in dieser Situation auszuprobieren.
Aus meiner Sicht liegt die Ursache aber im zugrunde liegenden HTTP-Request der im Betriebssystem hängt, wenn keine Daten empfangen werden. Die THTTPRequest-Klasse hat diesen Fall vermutlich schlicht nicht vorgesehen, denn mit kurzen Timeouts läuft diese Situation im Regelfall ja gut. Ich müsste vermutlich ein Cancel auf das Handle (HINTERNET) von Request machen können.

Christoph Schneider 2. Jul 2018 08:36

AW: Long running Rest API Call mit THTTPClient
 
Ich habe heute zu diesem Fall einen Eintrag in der Quality-Zentrale von Embarcadero vorgenommen:
https://quality.embarcadero.com/browse/RSP-20827

Christoph Schneider 27. Nov 2018 09:50

AW: Long running Rest API Call mit THTTPClient
 
Die erwähnte Library ist jetzt auf GitHub. Siehe hier OpenSource Library für Firebase

Leider wurde in Delphi 10.3 RSP-20827 nicht gelöst, sondern als Change Request bewertet. Darum wird weiterhin in FB4D der Workaround benötigt, bei der beobachtete Node zuerst überschrieben wird, damit der Listener korrekt beenden werden kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz