<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hallo Andreas,<br>
<br>
ich hab's mal getestet. Die Kommunikation vom vzlogger scheint erst
mal zu gehen.<br>
Den kritischen Fall mit dem Timeout hab ich noch nicht getestet.<br>
<br>
Aber das Frontend meldet jetzt in jquery.flot.canvas.js Zeile 44:<br>
TypeError: classes is undefined<br>
var Canvas = classes.Canvas;<br>
<br>
<br>
Liebe Grüße, Thomas<br>
<br>
<br>
<br>
<div class="moz-cite-prefix">Am 11.07.2014 17:50, schrieb Andreas
Götz:<br>
</div>
<blockquote
cite="mid:BF26158E-3E72-47F8-86C5-1E234D0A6F7D@gmail.com"
type="cite">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div>Hi Albert,</div>
<div><br>
</div>
<div>Lieber nach dem Urlaub, stimmt. Du musst mein Repo clonen und
dann den branch wechseln:</div>
<div><br>
</div>
<div>Git checkout ignore-duplicates</div>
<div><br>
</div>
<div>Als config Option taugt das m.E. Nicht weil der Client
entscheiden sollte ob er das möchte oder nicht, nicht die
Installation.</div>
<div><br>
</div>
<div>Wenns kappt fehlt also auch noch eine Anpassung im Logger.</div>
<div><br>
</div>
<div>Viele Grüße, Andreas</div>
<div><br>
Am 11.07.2014 um 17:22 schrieb Albert Dahmen <<a
moz-do-not-send="true" href="mailto:albert.dahmen@gmail.com">albert.dahmen@gmail.com</a>>:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div dir="ltr">Hallo Andreas,
<div><br>
</div>
<div>ich würde es gerne testen ... allerdings geht es morgen
für eine Woche in Urlaub ... und ich bin nicht sicher, ob
ich es vorher noch machen soll :-) Aber danach werde ich
es direkt ausprobieren! Versprochen :-)</div>
<div><br>
</div>
<div>Aber noch eine vielleicht "dumme" Frage:<br>
Wie installiere ich die neue Version? Bisher habe ich
folgendes gemacht:</div>
<div><br>
</div>
<div>
<pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px"> - dann Backup machen mit "cp -a /var/www/<a moz-do-not-send="true" href="http://volkszaehler.org">volkszaehler.org</a>
/var/www/volkszaehler.org.dist"
- jetzt mit "git clone git://<a moz-do-not-send="true" href="http://github.com/volkszaehler/volkszaehler.org.git">github.com/volkszaehler/volkszaehler.org.git</a>
/var/www/<a moz-do-not-send="true" href="http://volkszaehler.org">volkszaehler.org</a>" die aktuelle Version holen
- und mit "chown -R www-data /var/www/<a moz-do-not-send="true" href="http://volkszaehler.org">volkszaehler.org</a>" die Rechte anpassen
</pre>
<pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">Wie mache ich das jetzt mit dem anderen Zweig? Einfach den Teil hinter git:// anpassen?</pre>
<pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">
</pre>
<pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">Und noch eine blöde Frage: Wird mit diesem Teil nicht nur die middleware auf einen neuen Stand gebracht? Wenn ja, wie bekomme ich das Update von vzlogger? Das liegt ja in einem anderen Verzeichnis?</pre>
<pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">
</pre>
<pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">Ist sonst noch was bei einem Test dieser speziellen Version zu beachten?</pre>
<pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">Und warum hast Du das mit dem URL-Parameter gemacht und nicht diesen Parameter in die config-Datei aufgenommen?</pre>
<pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">
</pre>
<pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">VG Albert</pre>
<pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">
</pre>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">Am 11. Juli 2014 14:05 schrieb
Andreas Goetz <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:cpuidle@gmail.com"
target="_blank">cpuidle@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div>
<div>Hallo,<br>
<br>
jetzt wärs natürlich auch cool wenns mal jemand
testen würde :/<br>
<br>
<a moz-do-not-send="true"
href="https://github.com/andig/volkszaehler.org/tree/ignore-duplicates"
target="_blank">https://github.com/andig/volkszaehler.org/tree/ignore-duplicates</a><br>
<br>
</div>
Ich hab das Verhalten jetzt konfigurierbar gemacht-
einfach options=skipduplicates an die URL anhängen,
dann werden die ignoriert. zusätzlich wird jetzt
immer rows=xyz ausgegeben woran man erkennen kann
wieviele Datensätze tatsächlich eingefügt wurden.<br>
</div>
Prinzipiell nutzen wir jetzt immer plain SQL, es
sollte also auch noch schneller werden...<br>
<br>
vg<br>
Andreas<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-07-08 15:00 GMT+02:00
Andreas Goetz <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:cpuidle@gmail.com" target="_blank">cpuidle@gmail.com</a>></span>:
<div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Hallo Zusammen,<br>
<br>
</div>
ich habe hier mal einen Bastelzweig
eröffnet: <a moz-do-not-send="true"
href="https://github.com/andig/volkszaehler.org/tree/master-ignore-duplicates"
target="_blank">https://github.com/andig/volkszaehler.org/tree/master-ignore-duplicates</a><br>
<br>
</div>
Darin gibts zwei wesentliche
Änderungen:<br>
</div>
- statt ORM wird jetzt mittels SQL in
die DB geschrieben- das könnte einen
Performancezuwachs bringen (nicht
getestet)<br>
</div>
- Duplikate werden bei JSON requests wie
der Logger sie macht jetzt immer ignoriert
(nicht konfigurierbar)<br>
<br>
Viel Spass beim Testen!<br>
<br>
vg<br>
</div>
Andreas<br>
<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2014-07-07 12:09
GMT+02:00 Andreas Goetz <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:cpuidle@gmail.com"
target="_blank">cpuidle@gmail.com</a>></span>:
<div>
<div><br>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div dir="ltr">Hi Thomas,<br>
<div class="gmail_extra"><br>
<div class="gmail_quote">2014-07-07
11:52 GMT+02:00 <span
dir="ltr"><<a
moz-do-not-send="true"
href="mailto:thomas@gauweiler.org"
target="_blank">thomas@gauweiler.org</a>></span>:
<div>
<br>
<blockquote
class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">Hallo
Andreas,<br>
<br>
na, man sollte schon beim
ersten Problem anpacken.<br>
z.B. sollte man den
Timeout des vzloggers
größer machen, als den der<br>
Middleware beim Bearbeiten
eines Request.<br>
</blockquote>
<div><br>
</div>
</div>
<div>Klar- aber auch da muss
im logger gehandelt werden.
Letzlich ist das aber nur
Linderung da durch
Lastsituationen sowas
prinzipiell immer auftreten
kann, oder?<br>
<br>
</div>
<div>
<blockquote
class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
Dadurch sollte dieser
Zustand nicht mehr
auftreten, denn wenn die<br>
Middleware kein Commit
mehr machen kann, sind die
Daten nicht drin.<br>
(macht die MW eigentlich
Masseninsert mit
abschliessendem Commit
wird<br>
jeder Insert einzeln
Committed?)<br>
</blockquote>
<div><br>
</div>
</div>
<div>Ich vermute vzlogger
übergibt die Daten per JSON
statt mittels einzelner
Requests? Dann gibts auch
den Commit nur einmal. Wenns
da Befindlichkeiten bzgl.
Performance gibt müsste mir
jemand mal einen SQL Trace
schicken da ich keinen
vzlogger habe.<br>
<br>
</div>
<div>
<blockquote
class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<br>
Dann hast du aber
natürlich recht: nach
einem timeout sollte der
vzlogger<br>
die alten Daten nur unter
Vorbehalt noch mal
schreiben.<br>
Am besten wenn er das der
MW im Request mitteilen
kann. Dann könnte die MW<br>
</blockquote>
<div><br>
</div>
</div>
<div>Das wäre auch eine
Variante. Einer muss die
Probleme halt aussortieren.
Entweder der vzl schaut
anhand der Fehlermeldung
welcher Timestamp
problematisch war (und muss
das ggf. mehrfach machen)
oder er sagt der MW "nimm
halt was geht"- aber z.B.
erst bei einem Retry. Die
Variante gefällt mir ganz
gut da sie sich auch für
vzclient anbieten würde.
Muss ich mal recherchieren.<br>
<br>
</div>
<div>
<blockquote
class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
noch bei so einer
DB-Meldung prüfen, ob sie
tatsächlich die gleichen
Daten<br>
noch mal schreiben will.
Da der neue Request vom
vzlogger dann alte und<br>
neue Daten umfasst, muss
man das auch Satzweise
prüfen...<br>
</blockquote>
<div><br>
</div>
</div>
<div>Ehrm. Genau- gleicher
Gedanke ;) <br>
</div>
<div>
<blockquote
class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<br>
Hab leider auch zu wenig
Zeit um mich in den
SourceCode von vzlogger
und<br>
MW einzuarbeiten, sonst
würde ich da gerne helfen.<br>
Mit welchen Tools wird da
eigentlich entwickelt?
Doch nicht Editor und<br>
Make, oder? Kann mir
jemand beschreiben, wie
ich einen Debugger auf<br>
vzlogger bzw. auf die MW
ansetze?<br>
</blockquote>
<div><br>
</div>
</div>
<div>Vmtl. Rainer?<br>
<br>
</div>
<blockquote
class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<br>
LG Thomas.<br>
</blockquote>
<div><br>
</div>
<div>vg<span><font
color="#888888"><br>
</font></span></div>
<span><font color="#888888">
<div>Andreas<br>
<br>
</div>
</font></span>
<div>
<div>
<blockquote
class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px
#ccc
solid;padding-left:1ex">
<br>
<br>
On Mon, 7 Jul 2014
11:27:55 +0200, Andreas
Goetz <<a
moz-do-not-send="true"
href="mailto:cpuidle@gmail.com" target="_blank">cpuidle@gmail.com</a>><br>
wrote:<br>
<div>
<div>> Moin Thomas,<br>
><br>
> 2014-07-07
11:19 GMT+02:00 <<a
moz-do-not-send="true" href="mailto:thomas@gauweiler.org"
target="_blank">thomas@gauweiler.org</a>>:<br>
><br>
>> Das ist
doch "nur" das
Folgeproblem. Das
eigentliche Problem
ist ein<br>
>>
Kommunikationsproblem:<br>
>> vzlogger
bricht einen
HTTP-Request mit
timeout ab, während
die<br>
>> Middleware<br>
>> den Request
noch fertig
bearbeitet.<br>
>><br>
><br>
> Warum auch
immer, ja.<br>
><br>
><br>
>> Jetzt
stehen die Daten in
der DB aber vzlogger
meint, dass sie noch<br>
nicht<br>
>> drin sind.<br>
>> Und erst
beim nächsten
Versuch des
vzloggers kommt es
dann zur<br>
>> DB-Meldung,<br>
>> dass dieser
Zeitstempel schon in
der DB steht.<br>
>><br>
><br>
> Genau. Aber
worauf willst Du
hinaus? Letzlich
kann nur der Logger
wissen<br>
ob<br>
> oder dass es
"safe" ist die Daten
jetzt zu verwerfen.
Einem anderen<br>
Client<br>
> bzw. dem
Anwender muss die MW
solche Meldungen
sehrwohl
präsentieren.<br>
><br>
> Grüße, Thomas<br>
>><br>
><br>
> Oder worin
besteht Dein
Vorschlag?<br>
><br>
> vg<br>
> Andreas<br>
><br>
><br>
>><br>
>> On Sun, 6
Jul 2014 22:40:50
+0200, Andreas Götz
<<a
moz-do-not-send="true"
href="mailto:cpuidle@gmail.com" target="_blank">cpuidle@gmail.com</a>><br>
>> wrote:<br>
>> > Hi,<br>
>> ><br>
>> > An der
Fehlermeldung der
MW?<br>
>> ><br>
>> > Woher
soll den umgekehrt
die MW wissen welche
App problematisch
ist<br>
so<br>
>> > dass
sie deren Daten
verwerfen soll ohne
Fehlermeldung?<br>
>> ><br>
>> > M.e.
Gehört das in den
Logger.<br>
>> ><br>
>> > Viele
Grüße,<br>
>> >
Andreas<br>
>> ><br>
>> >> Am
06.07.2014 um 22:04
schrieb Udo1 <<a
moz-do-not-send="true" href="mailto:udo1@gmx.net" target="_blank">udo1@gmx.net</a>>:<br>
>> >><br>
>> >> Am
06.07.2014 16:27,
schrieb Andreas
Götz:<br>
>>
>>> Wäre es
evtl sinnvoll
vzlogger die
Möglichkeit zu geben<br>
insbesondere<br>
>>
>>> bei DB
Integrity Constraint
Fehlern eine
bestimmte Anzahl von<br>
>>
>>>
Datensätzen zu
verwerfen?<br>
>> >>
Wie soll vzlogger
solche "DB Integrity
Constraint Fehler"
erkennen?<br>
>> >>
Das<br>
>> >>
ist doch ein
Datenbank-Problem.
Oder sehe ich das
falsch?<br>
>> >><br>
>> >>
Gruß<br>
>> >>
Udo<br>
>><br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<br>
</div>
</blockquote>
</div>
</div>
</div>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</blockquote>
<br>
</body>
</html>