[vz-dev] vzlogger und neue Middleware
Andreas Brus
andreas at brus.name
Sat Feb 1 22:21:53 CET 2014
Moin
leider ist die neue Middleware doch nicht zu 100% gleich was die
Rückmeldungen betrifft.
Bisher war die Meldung bei "Duplicate Entry" die in
src/api/Volkszaehler.cpp behandelt wird:
CURL Error from middleware: 'PDOException': 'SQLSTATE[23000]: Integrity
constraint violation: 1062 Duplicate entry '2-1375860463105' for key
'ts_uniq''
Dies wurde folgendermaßen behandelt:
if( err_type == "PDOException") {
if( err_message.find("Duplicate entry") ) {
print(log_warning, "middle says duplicated value. removing
first entry!", channel()->name());
_values.pop_front();
}
}
Nun wird aber stattdessen DBALException zurückgegeben:
CURL Error from middleware: 'DBALException': 'An exception occurred
while executing 'INSERT INTO data (timestamp, value, channel_id) VALUES
(?, ?, ?)' with params [1391043674905,...
Daher habe ich folgende Zeilen zusätzlich eingefügt.
if( err_type == "DBALException") {
if( err_message.find("Duplicate entry") ) {
print(log_warning, "middle says duplicated value. removing
first entry!", channel()->name());
_values.pop_front();
}
}
Jemand mit c++ Kenntnissen würde sicher sinngemäß sowas wie:
if( err_type == "PDOException" || err_type == "DBALException") {
einfügen und damit ein paar Zeilen Code sparen.
Ich bittte um baldige Aufnahme ins git Repository, damit vzlogger sowohl
mit alter als auch neuer Middleware bei Verbindungsproblemen nicht aus
dem Tritt kommt.
Gruß
A. Brus
More information about the volkszaehler-dev
mailing list