Community

Antworten
Als Mitglied der Community können Sie die Inhalte dieses Boards nur lesen. Für dieses Board freigeschaltete Mitglieder können aktiv an der Diskussion teilnehmen und eigene Beiträge und Kommentare schreiben. Wollen Sie dabei sein? Dann schicken Sie CB_Michael eine Nachricht mit ihrer Motivation zur Teilnahme.

Login & Nachricht schreiben

Aufsteiger
Beiträge: 6
Registriert: ‎30.08.2016
Historische Daten abfragen klappt nur eingeschränkt
[ Bearbeitet ]

Hallo Zusammen und @CB_Thomas ,

 

ich habe mich mit der neuen API und der Abfrage historischer Daten beschäftigt (GetSecurityPriceHistory). Die Abfrage klappt leider nur eingeschränkt

 

1) Auflösungs-Ebene der Anfrage "Tick" und "Sekunden" scheinen das gleiche Ergebniss zu liefern. Erwarten würde ich das die Einstellung "Tick" wirklich Tick-basierte Daten liefert. Es kommen aber nur Daten in Sekunden-Auflösung zurück.

 

2) Wenn ich mir mehr als zwei Tage Daten rückwirkend in Sekunden-Auflösung holen möchte kommt die folgende Fehlermeldung "Grpc.Core.RpcException: "Status(StatusCode=ResourceExhausted, Detail="Received message larger than max (4525749 vs. 4194304)")". Was die Einschränkung hervoruft ist mir nicht so ganz klar, da das System 8GB RAM hat, von dennen 7GB frei sind.

 

Die Einschränkung kann man durch das Setzten des Wertes "MaxReceiveMessageLength" bei der Erzeugung des Channels umgehen.

 

Kann man hier den Aufruf so umgestalten, dass nicht alle Daten in den RAM geladen werden müssen, sondern das das Ergebniss gestreamt wird? Das würde geringenen Speicherbedarf bedeueten und natürlich die Möglichkeit, das man mehr als zwei Tage abrufen kann.

 

3) Man kann die Tage rückwirkend leider nicht einzelnen abrufen. Wenn ich rückwirkend den 14. Tag abrufen möchte, muss ich alle Tage vorher verarbeiten und entsprechend filtern. Einfacher wäre es wenn man nur einen Tag runterladen könnte aber ein entsprechend Offset zum aktuellen Tag angeben kann.

 

Viele Grüße

GoGoGo

Autorität
Beiträge: 3.567
Registriert: ‎06.02.2015
Betreff: Historische Daten abfragen klappt nur eingeschränkt

Hallo @GoGoGo,

 

wenn ich das richtig verstanden habe, wird die Meldung "Grpc.Core.RpcException: "Grpc.Core.RpcException: "Status(StatusCode=ResourceExhausted, Detail="Received message larger than max (4525749 vs. 4194304)")" erzeugt, sobald die die Empfangenen Daten den Wert von "defaultMaxMessageSize" überschreiten. Dieser Wert scheint wohl per Default 4 MB (1024 * 1024 * 4) zu sein. Kann man diesen Wert erhöhen, könnte es sein, dass dieses Problem nicht mehr auftritt.

 

 

Viele Grüße

immermalanders

 

Aufsteiger
Beiträge: 6
Registriert: ‎30.08.2016
Betreff: Historische Daten abfragen klappt nur eingeschränkt
[ Bearbeitet ]

Hallo @immermalanders ,

 

danke für den Hinweis. Tatsächlich wurde der Wert GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH in grpc per Konvention auf 4MB gesetzt. Mit einer Änderung des Channel-Aufrufs kann man den Wert neu setzen und dann funktioniert auch der Download mehrer Tage.

 

https://github.com/grpc/grpc-java/issues/1676#issuecomment-229809402

 

Vielleicht kann man in der Dokumentation auf diesen Wert hinweisen, dass erspart einigen Benutzern die Suche.

 

Vielen Dank

GoGoGo