szabbenjamin / digionline

GNU General Public License v3.0
51 stars 21 forks source link

EPG letöltés refactor #44

Closed kbalint closed 3 years ago

kbalint commented 4 years ago

szerintem kellene párhuzamosítani az EPG urlek letöltését és feldolgozását, mert így elég szenvedés. 5-6 "threadet" talán a JS is tud kezelni :) Én a Typescripthez értek, nodejs-hez nem, de láttam, hogy ott van

async.queue(task, concurrency)

esetleg érdemes lenne megnézni.

droM4X commented 4 years ago

akar ugy is lehetne, hogy a digi sajat musorujsagjat parsoljuk. vagy korabban volt valami megoldas a porthu-ra is.

elonyok

hatranyok

nalam az is gond, hogy mar az applet frissiti az epg filet, de a kodi mar nem, igy muszaj hasznalni a force_reload_epg.sh-t cronbol vagy kezzel, ami kodi restarttal jar. erre nincs valami kevesbe radikalis reload megoldas?

szabbenjamin commented 3 years ago

Párhuzamosítani nem lehetséges mivel a port.hu detektálni fogja a túl gyakori lekérdezéseket és bannolni fog. @kbalint, amit te mondasz az virtuális thread, azaz egyetlen cpu magon fog párhuzamosan több feldolgozás futni amitől egyszerűen nem fog cpu idő jutni a lejátszáshoz szükséges servletnek.

@droM4X A digi saját műsorújságának parsolása nem rossz ötlet, anno próbáltam is, de letettem róla, mert sokszor hibás volt - lehet azóta már jobban odafigyelnek rá, szóval érdemes lehet vele egy plusz kört futni, igen. Elképzelhető, hogy anno azért 5 napos EPG-t raktam bele, hogy a force reload-ra ne legyen szükség, mondván, hogy azért 5 naponta 1x csakcsak bekapcsolják az emberek a tévét. 🙃

Összességében az a legnagyobb hiba, hogy az epg készítése egy processzen belül van a digionline videó közvetítő alkalmazásával. Jelenleg arra törekednék, hogy az epg-t teljesen kitakarítsam a rendszerből és külön vegyem a két funkciót.

droM4X commented 3 years ago

@szabbenjamin En ezeket a sajat forkomban mar hetekkel/honapokkal ezelott osszedobtam, amikor volt idom foglalkozni vele. Nem kuldtem rola PR-eket, mert sok dologba belenyultam/atirtam/kidobaltam, de biztos ossze lehet hazasitani ha ugy erzitek van benne mergelni erdemes dolog. En azota Rpi4-en hasznalom ahova azota sincs OSMC, ezert raspberrypi os-re tolt kodi-val hasznalom. Valoszinuleg mukodne a verziom rpi3/osmc-n is, mert megadhato hova telepitse.

Az epg-t atirtam hogy a digi sajat epgjet hasznalja, raadasul apirol megy, nem kell parsolgatni semmit a html kodbol. 54 csatornanal 2mp alatt van 3 napos epg, megse 10 perc :) Hasznalom napi szinten, teljesen jol mukodik es a musor leirasa is benne van. Csinaltam meg csatorna szurest (nem kerul be a listaba amit nem szeretnek latni), cronba lett kiteve a program frissitese es az epg update, stb. Az epg-t 12 orankent frissitem, 1.5-2 nappal elore latni, a kodiban beallithato hogy milyen idokozonkent toltse ujra, nem kell force reload. A docker supportot dobtam, de nincs lenyegi valtoztatas a mukodesben, valoszinuleg menne a regi docker fileokkal is.

https://github.com/droM4X/digionline

Zephael86 commented 3 years ago

@droM4X Köszi, vetek rá egy pillantást. Gyorsan lett is belőle egy konténer.

szabbenjamin commented 3 years ago

Agyaltam rajta. Mivel az EPG nem 1 napos így nincs abból gond ha másnap kapcsolja be valaki újra az appot, lesz műsorlistája még ekkor is. Nem tartom indokolnak a refatorálást a musor.tv-ről jelenleg.