Bitcoin Forum

Local => Deutsch (German) => Topic started by: LightningFury on January 16, 2012, 11:27:58 PM



Title: Brauch mal nen Denkanstoß
Post by: LightningFury on January 16, 2012, 11:27:58 PM
Ich schreibe gerade ein Bitcoin Addon für das PunBB Forum, funktioniert soweit alles wunderbar, allerdings hab ich das komische Problem das wenn ich den getbalance vom Bitcoin Daemon anfordere von Zeit zu Zeit folgende Fehlermeldung bekomme:

Code:
Fatal error: Uncaught exception 'Exception' with message 'Incorrect response id (request id: 1, response id: )' in 
C:\intranet\Apache2.2\htdocs\punbb\jsonRPCClient.php:152 Stack trace: #0
C:\intranet\Apache2.2\htdocs\punbb\include\functions.php(1105): jsonRPCClient->__call('getbalance', Array) #1
C:\intranet\Apache2.2\htdocs\punbb\include\functions.php(1105): jsonRPCClient->getbalance('2') #2
C:\intranet\Apache2.2\htdocs\punbb\profile.php(1510): bitcoin() #3 {main} thrown in C:\intranet\Apache2.2\htdocs\punbb\jsonRPCClient.php on line 152

Das passiert rein willkürlich. Beispielsweise ich aktualisiere 15 mal das Profil wo der Daemon abgefragt wird ohne Probleme dann kommt mal wieder die Fehlermeldung zwischendurch.
Kann das evt. durch ein Daemon lag entstehen wenn der die Daten nicht schnell genug ausrückt?
Kommt mir jedenfalls so vor.
Zur Info ich hab noch den 0.4 Daemon drauf er läuft atm über Testnet.

Evt. nen Bug in der Bitcoinsoftware?


Title: Re: Brauch mal nen Denkanstoß
Post by: LightningFury on January 17, 2012, 10:24:21 PM
Das Problem ist nach dem defragmentieren noch nicht wieder aufgetreten  ;D


Title: Re: Brauch mal nen Denkanstoß
Post by: antares on January 18, 2012, 04:06:40 AM
es kommt gelegentlich vor, dass der daemon nicht korrekt reagiert, wenn man ihn mit anfragen zuhämmert. es wäre generell besser wenn du bitcoind periodisch pollst(mit was immer windows als cron-ersatz benutzt), den aktuellen wert zb in der datenbank aufhebst und dann jedesmal aus der datenbank holst. Andernfalls kann es vorkommen, dass du dich bei heftiger besucherlast selbst DoS'est.

Erschwerend kommt noch dazu, dass RPC calls in bitcoin nicht multithreaded sind, und bitcoind diese requests cached, bis er sie ausführen kann, was zu extremem lag im seitenaufbau führen kann. (und dazu dass bitcoind extrem viel speicher verbraucht)


Title: Re: Brauch mal nen Denkanstoß
Post by: LightningFury on January 19, 2012, 12:36:56 AM
Ja werde ich ich wohl mit MySQL lösen müssen.
cron-jobs werd ich wohl nicht nutzen denke das geht mit mysql via timestamp auch gut zu lösen.


Title: Re: Brauch mal nen Denkanstoß
Post by: antares on January 19, 2012, 02:42:44 AM
naja, die cronjobs waren auch dazu gedacht, den daemon regelmässig zu pollen. irgendwie musst du ja ein festes intervall reinbringen.


Title: Re: Brauch mal nen Denkanstoß
Post by: LightningFury on January 19, 2012, 11:18:36 AM
Brauche ich nicht wird vom User aktualisiert, das einzige was nicht geht ist wenn Transaktionen von außen kommen. Allerdings mach ich das mit einem Aktualisierungs- Button den man nutzen kann wenn man etwas gesendet hat der aber nur alle paar Minuten funktioniert um flooden zu vermeiden. 99% sind eh nur moves.