[TVB-619] mLastAutoUpdateRun

Hier haben Plugin-Entwickler die Möglichkeit, sich auszutauschen.
Antworten
Benutzeravatar
jb
Plugin-Developer
Beiträge: 245
Registriert: 24 Mai 2007, 16:18

[TVB-619] mLastAutoUpdateRun

Beitrag von jb »

Besagte Variable wird bei jedem regulären (z.B. manuellem) Update wieder auf 30 min. Wartezeit hochgesetzt in "onDownloadStart". Könnte man dies so ändern, daß nur eine AutoUpdate den Zähler zurücksetzt (in "runAutoUpdate"?), bzw. in "onDownloadDone" wieder in den urprünglichen Zustand versetzen.

Hintergrund:
Ich bin gerade dabei, einen allgemeinen Mixed-Daten-Service zu schreiben, der die Beschreibung einer Sendung aus zwei verschiedenen Quellen mischt. Die in diesem Service erzeugten Channels können erst dann sinnvoll upgedatet werden, wenn dies zuvor mit den Quellen geschehen ist. Man muß also zweimal den Update starten.
Das will ich automatisieren, allerdings geht das derzeit nur mit genau 30 Minuten Abstand. O.g. Änderung wäre im Mittelwert 15 min., wenn kein anderer Datenservice diese Funktion benutzt, könnte der automatische Update sogar direkt im Anschluß an den regulären Update erfolgen.

jb
ds10
Site Admin
Beiträge: 19119
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: mLastAutoUpdateRun

Beitrag von ds10 »

Mh, ich denke, dass der Grund, warum ich das so programmiert habe war, dass ich verhindern wollte, dass ein manuelles Update durch ein automatisches Update unterbrochen wird (das ist ein Satz ;-)). Vielleicht könnte ich das so ändern, dass die Zeit bei einem manuellen Update gemerkt wird und dann nach dem Update wieder gesetzt wird, auf diese Weise würde ein manuelles Update keine Einfluss auf die Zeiten der automatischen Updates haben.
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Benutzeravatar
jb
Plugin-Developer
Beiträge: 245
Registriert: 24 Mai 2007, 16:18

Re: mLastAutoUpdateRun

Beitrag von jb »

Die Beeinflussung des normalen Updates sollte eigentlich durch "!TvDataUpdater.getInstance().isDownloading()" beim Aufruf von RunAutoUpdate verhindert sein.
Aber sicher ist sicher!
und die von Dir vorgeschlagene Variante würde dem Zweck völlig genügen.

TIA
Benutzeravatar
jb
Plugin-Developer
Beiträge: 245
Registriert: 24 Mai 2007, 16:18

Re: mLastAutoUpdateRun

Beitrag von jb »

Nachtrag zu:
und dann nach dem Update wieder gesetzt wird
bzw. MAX(alter Wert, 1 Minute), dann hätte man etwas Sicherheitsabstand.
ds10
Site Admin
Beiträge: 19119
Registriert: 23 Jun 2005, 12:36
Kontaktdaten:

Re: mLastAutoUpdateRun

Beitrag von ds10 »

Wo du sowieso schon an der Stelle nachgesehen hast, könntest du vielleicht auch einen Patch liefern (von 3.0-SVN), macht's für mich sehr viel einfacher. ;-)
"First they ignore you, then they ridicule you, then they fight you, then you win." - Mahatma Gandhi
Unterstütze die Weiterentwicklung von TV-Browser
Benutzeravatar
jb
Plugin-Developer
Beiträge: 245
Registriert: 24 Mai 2007, 16:18

Re: mLastAutoUpdateRun

Beitrag von jb »

Wo du sowieso schon an der Stelle nachgesehen hast...
Geschaut ja, aber sehen muß ich noch :wink: .

OK:Folgendes liefert das gewünschte Resultat.

Code: Alles auswählen

tvbrowser.ui.mainframe.MainFrame (im Anhang, alle Änderungen sind mit "jbChanged" kommentiert, sodaß sie mittels Suchfunktion leicht aufzufinden sind.)

Änderungen basierend auf: 
Revision: 5836
Date: 2009-07-30 22:36:38 +0200 (Do, 30 Jul 2009)

Deklaration:
 +++ 236	private long mLastAutoUpdateRunBuffer;
 
 in runAutoUpdate():
 +++1183	mLastAutoUpdateRun = System.currentTimeMillis();
 
 in onDownloadStart():
 +++1525	mLastAutoUpdateRunBuffer = mLastAutoUpdateRun;
 
 in onDownloadDone():
 +++1534	mLastAutoUpdateRun = mLastAutoUpdateRunBuffer;
Der einzige Wermutstropfen für den neuen Mixed-Daten-Service der bleibt, ist daß, wenn eine der Quellen selbst mittels "runAutoUpdate" aufgefrischt wurde, es weiterhin 30 Minuten dauert, bis die Änderungen beim Daten-Mix ankommen (betrifft aber maximal die Services DreamBox & Co. Nxtvepg kann den Datenmix ja schon von Haus aus :), und die "regulären" Quellen wie TvBrowserDataService werden mehr oder weniger manuell gestartet).
Dateianhänge
MainFrame.java.txt
(79.4 KiB) 360-mal heruntergeladen
Antworten