Frage zur neuen EPG- Datenbank

  • Interessant ist auch das während der Import läuft du mit top sehen kannst das ständig 2 und dann 1 CPU zu fast 100% beschäftigt sind.


    Langsam verstehe ich warum DMM das auf den Alten Boxen nicht rausbringen konnte :loudly_crying_face:


    Wobei das sqlite eigentlich auch Multithreading können müsste und damit noch mehr CPUs ausnützen, ich habe nicht umonst jeder Tabelle jetzt einen eigenen Cursor spendiert ... aber da dürfen sich wohl mal andere damit spielen.

  • jo, die CPU's haben arbeit
    wobei das läuft normalerweise nachts oder so



    hab die deutschen zender mal durchgezapt und mache jetzt nochmal UK import um sicher zu stellen das die EPG erhalten bleiben



    zwichendurch mal reboot gemacht,
    dauert etwas länger, habe aber die zeit nicht gestoppt

  • das volle UK EPG hat mich etwa 10 Sekunden beim booten gekostet, ich probiere mal UK+DE+AT+CH zusammen dann müsste die DB dann schon >>100MB haben.


    Gut das ich ins dBackup reingemacht habe die epg.db nicht mitzusichern :grinning_squinting_face:


    Und das mit Nachts oder beim booten laden habe ich nicht ausprobiert, das ist Euer Job ...


    EDIT: 30 Tage DE/AT/CH EPG mit Longdescription sind alleine schon fast 100MB obwohl nur 56k Events, hoffentlich hat DMM das auch mal getestet wie sich das System mit so vielen Daten verhält, weil beim Runterfahren drehen sich die Zahnräder zum rausschreiben schon fast 20 Sekunden.

    4 Mal editiert, zuletzt von Lost in Translation ()

  • so nochmal durch


    deutsche EPG sind erhalten geblieben



    epg.db ist 66.4MB


    und mit nachts werde ich erst in eine woche testen können


    beim booten, davon bin ich sowieso kein freund

  • Na ja wenn ich das so hochrechne müsste der schlimmste Fall den man realistisch haben kann dann ca. 1 Minute booten und auch so lange zum runterfahren brauchen.


    Dann werden wohl wieder die SSD Jünger Zuspruch bekommen um das zu beschleunigen ...


    Aber das sind jetzt Sachen die auch andere ausprobieren können - danke für die Hilfe.


    Wenigstens sind die Ladezeiten im Plugin halbwegs mit den alten boxen vergleichbar, sonst müsste ich da auch noch blöde herum optimiernen.

  • heb noch eine sache gesehen


    über webif die EPG Search verwendet mit "Top gear"


    da kommen eine menge sendungen die mir OK scheinen


    aber am ende gibt es dann einträge wo alles auser das kanal da ist (beim kanal steht <n/a> - neben das datum)


    sind das sachen die nicht richtig befüllt oder gelöscht sind?

  • na ja ich denke die Suche findet jetzt auch die Einträge für die du gar keine Sender in der Liste hast - muss ich den Blödsinn also doch selber fixen :winking_face_with_tongue:

  • schön, aber irgendwer muss den Blödsinnigen code mit den dummy recordings fixen oder Ihr müsst mit dem editieren der print statements leben ...

  • In die r11 Version ist ein "t" weggefallen auf die letztem Regel vom plugin.py und jetzt steht "return resul" und das muss sein "return result".


    Mit die r9 Version habe ich knapp 180.000 events und eine epg.db grosse vom 96MB....die sich gleich groß bleibt und erwartete das die kleinere wurde wenn mehr zeit vergeht und mehrmals booten in die zwischen zeit.


    Ich gucke mich gerade die r11 Version Import an und sehe die Spinner aktiviert werden wenn: "[EPGC] cleanupOutdated" arbeited....oops ich habe eine Sender im Hintergrund mit EPG.

    DM.One AIO, DM920, DM7080 archiviert DM8000 aus Dezember 2008 und eine DM600.

  • ja sorry, tippfehler - ich mache euch eine neue Version

    2 Mal editiert, zuletzt von Lost in Translation ()

  • Kein Problem und Ich konnte nun endlich was tracen.


    Ich denke das dies mehr fur die DM Developper is, ich sehe immer die folgende meldung vorbei kommen:


    [EPGC] start caching events(1419633548 )
    [EPGC] 0015 0011 0085 00c00000 has external data! won't update...
    [EPGC] 0159 0001 0085 00c00000 has external data! won't update...
    [EPGC] 0163 0001 0085 00c00000 has external data! won't update...
    [EPGC] 016d 0001 0085 00c00000 has external data! won't update...


    Gerade mal "systemctl start enigma2" gemacht und die neu eigen eingelesene events sind noch anwesend und auch die nicht in mit EPGimport eingelesen wurde. Die epg.db file ist dan auch grober geworden so das wird immer besser. :winking_face:

    DM.One AIO, DM920, DM7080 archiviert DM8000 aus Dezember 2008 und eine DM600.

    2 Mal editiert, zuletzt von msatter ()

  • das hat DMM extra für uns eingebaut damit die EPG Daten vom Transponder die externen daten in der epg.db nicht kaputt machen.

    3 Mal editiert, zuletzt von Lost in Translation ()

  • OK, das hat mich nicht schlafen lassen - man muss ja nur checken on die Service reference einen Kanalnamen zurückgibt, dann ist der Kanal interessant und muss in die epg.db der box.


    Und das sind dann eigentlich nur 2 zeilen code statt dem Blödsinn mit den dummy recordings:


    Code
    def channelFilter(ref):      	
        	channel = ServiceReference(str(ref)).getServiceName()
        	if len(channel) > 0:          	
                	print "[EPGimport] found channel %s" % (channel)
                	return True   	
        	return False


    Eine r14 die das verwendet und damit auch schön im log ausgeben kann wie viele events pro Kanal geladen wurden ist im Anhang.


    Bitte NUR mehr diese Version zum Testen verwenden, weil damit sollten auch EPG Suche und Autotimer wieder zurecht kommen.


    PS: Und falls Ihr trotzdem zum Testen EPG von ALLEN Kanäle in der epg.db haben wollt - einfache oben im code in der plugin.py aus dem return False ein return True machen.


    LG
    gutemine

    3 Mal editiert, zuletzt von Lost in Translation ()

    • Offizieller Beitrag

    Sqlite ist NICHT! thread-safe, es ist aber relativ tolerant (solange nicht zwei threads gleichzeitig die selbe Verbindung tatsächlich benutzen ist es i.d.R. kein Problem).
    Worker Threads für sqlite sind noch in Entwicklung daher ist es derzeit eher eine "Single-Core" Angeleghenheit.


    Und ja, große Datensätze können durchaus etwas Zeit benaspruchen, deshalb soll's ja auch in einen eigenen thread ;).