Sziasztok!
Adott egy videókonvertáló rendszer aminek a feladata, hogy rendszeres időközönként különböző mappákba feltöltött videókat átkonvertáljon. Az automatikus videókonvertálás cronból fut. Viszont megszaporodtak a 4K-s videók is melyeket konvertálni kell és jó lenne ha ezek konvertálása nem egyszerre indulnának. A felhasználó egy webes felületen tudja beállítani az automatikus indításokat. Szeretném ha már a webfelületen ki lennének szűrve azok a projektek melyek egyszerre indulnának, magyarul kapjon egy warningot ha olyan cron beállítások szerepelnek, melyeknél van olyan időpont amikor két konvertálás egyszerre indulna. Lényeg, hogy ne a konvertálás indulásakor derüljön ki, hogy pont akkor indul a másik is, hanem magát a crontab listát (amiben 15-20 projekt indítása van) kellene úgy listázni, hogy egyértelműen látszódjanak azok melyeknél lehetséges az egyszerre indulás.
- 951 megtekintés
Hozzászólások
Ezt picit másképp közelíteném meg. Azt nem tudod, hogy meddig tart egy videó konvertálása, tehát a párhuzamos konvertálásokat nem tudod ezzel a módszerrel limitálni.
Én minden videóhoz egy tól-ig intervallumot kérnék be a felhasználótól, hogy mikor szeretné elindíttatni a konvertálást.
A feltöltött videókat egy mondjuk percenként futó script csekkolná, hogy van-e olyan, ami elkezdhető, és van-e szabad konvertáló folyamat. Ha nincs szabad "slot", akkor a következő körben újra vizsgál, ha van, akkor elindít egy konvertálást úgy, hogy a konvertálás kezdésére rendelkezésre álló intervallumban arányaiban legrosszabbul álló videót adja oda a konverternek.
A valós probléma szerintem nem az, hogy n+1 konverzió indul egyszerre, hanem az, hogy n+1 fut párhuzamosan.
Annno Vudumen alkotott egy egész tisztességes rendszert hasonló feladatokra. Sajnos őt már nem lehet megkérdezni, hogyan csinálta :-(
- A hozzászóláshoz be kell jelentkezni
Le vannak limitálva a párhuzamosan elinduló konvertálások, csak a kollégák csodálkoznak, hogy miért nem indulnak el. Ezért lenne jó, hogy már a weboldalon lássa, hogy ez meg az ekkor menne egyszerre.
-------------------
https://onlinestream.hu/ - A legtöbb magyar rádió és TV egy helyen!
- A hozzászóláshoz be kell jelentkezni
- rendszeres időközönként különböző mappákba feltöltött videókat
Rendszeres=cron?
- automatikus videókonvertálás cronból fut
Akkor rendszeresen.
- jó lenne ha ezek konvertálása nem egyszerre indulnának
Semmi akadálya.
- felhasználó egy webes felületen tudja beállítani az automatikus indításokat
Most akkor automatikus, vagy beállítja, vagy rendszeres?
És mi van, ha nem állítja be?
- ki lennének szűrve azok a projektek melyek egyszerre indulnának
Automatikusan, vagy beállítva, vagy rendszeresen?
Mi köze ehhez a 4k-nak?
- konvertálása nem egyszerre indulnának (egyeztetni)
Egyszerre, de mivel igen vagy mivel nem?
Úgy érzem, hogy ezt a nyelvtannácistának tűnő halmazt rendbetéve netalántánhacsaknem kiderülne vajon mit is kell csinálni. :-D
- A hozzászóláshoz be kell jelentkezni
+1, szerintem az "at" parancs (és környéke), amit keres, vagy szofisztikáltabban egy qdaemon implementációt Linuxra :-)
- A hozzászóláshoz be kell jelentkezni
Mintha láttam volna ilyen rendszert. Volt benne convert, 4k-s blokkok, csak vigyeó nem. ;)
Írták is rá, hogy a rendszer konszolidált működésű. Marhák! - a-u-to-ma-ti-zált :-D
- A hozzászóláshoz be kell jelentkezni
Nem at kell ide.
- Ha érkezett egy új fájl,
-- ha nem fut konvertálás, akkor indít egyet
-- ha meg fut, akkor sorba rakja
- Ha lefutott egy kovertálás
-- van valami a sorban, akkor kiveszi és indítja
Megvan?
No, akkor képzeld el ugyanezt 120+ "munkaterületen", 20+ szerverrel ÉS "windows buffer cache állagmegóvással" ;) - a szerver és a munkaterület gyorsaságának függvényében. :-D
- A hozzászóláshoz be kell jelentkezni
A lényeg, hogy egy ilyesmiből kellene nekem egy olyan, hogy mely folyamatnál van olyan, hogy egyszerre indulnának el:
0 18 4 11 7 /meencp/bin/ucmd convert 1 10 0 0
5 18 4 11 7 /meencp/bin/ucmd convert 1 11 0 0 0
3 19 4 11 7 /meencp/bin/ucmd convert 1 12 0 0 0
8 * 4 11 7 /meencp/bin/ucmd convert 1 13 0 0 0
8 20 * 11 7 /meencp/bin/ucmd convert 1 14 0 0 0
9 21 4 11 7 /meencp/bin/ucmd convert 1 16 0 0 0
0,15,30,45 21 4 11 7 /meencp/bin/ucmd convert 1 17 0 0 0
7 22 4 11 7 /meencp/bin/ucmd convert 1 18 0 0 0
38 0 5 11 1 /meencp/bin/ucmd convert 1 19 0 0 0
46 1 5 11 1 /meencp/bin/ucmd convert 1 20 0 0 0
47 1 5 11 1 /meencp/bin/ucmd convert 1 21 0 0 0
13 3 5 11 1 /meencp/bin/ucmd convert 1 22 0 0 0
7 4 5 11 1 /meencp/bin/ucmd convert 1 23 0 0 0
4 5 5 11 1 /meencp/bin/ucmd convert 1 24 0 0 0
59 5 5 11 1 /meencp/bin/ucmd convert 1 25 0 0 0
0 8 5 11 1 /meencp/bin/ucmd convert 1 26 0 0 0
5 8 5 11 1 /meencp/bin/ucmd convert 1 27 0 0 0
59 8 5 11 1 /meencp/bin/ucmd convert 1 28 0 0 0
4 9 5 11 1 /meencp/bin/ucmd convert 1 29 0 0 0
59 9 5 11 1 /meencp/bin/ucmd convert 1 30 0 0 0
4 10 5 11 1 /meencp/bin/ucmd convert 1 1 0 0 0
(az időpontok csak példák, nem valósak)
-------------------
https://onlinestream.hu/ - A legtöbb magyar rádió és TV egy helyen!
- A hozzászóláshoz be kell jelentkezni
Miért gond az egyszerre _indulás_? Videókonvertálásnál pont nem a processz indulása az, ami erőforrásigényes.
De ha ez kell, akkor én első körben nekiugranék az időadatokat konszolidálni, azaz ha valamelyik mezőben felsorolás, tartomány, netán * van, akkor azt annyi időpontra szétpakolni, ahány értéket be lehet helyettesíteni. Ez szép móka, hiszen például a harmadik mezőben egy * nemcsak a negyedik mezőtől, de még az aktuális évtől is függ, hogy mennyi lehet maximum, úgyhogy itt vigyázni kell, mint ahogy arra is, hogy az 5. mező meg pont, hogy szűkíti a releváns sorok számát. Kellően átgondolva persze nem kunszt, de azért gondolkodós a feladat :-P
Utána ezeket a már egzakt időpontokat jelentő számsorokat kellene csak sorbarakni, és megnézni, hogy van-e olyan, amiből több, mint egy van. A számsorok mellé eltárolva azt, hogy a crontab melyik sorához tartoznak, máris megkapod, hogy melyik sorok "ütik" egymást.
Másik megközleítés lehet adott időre "előre" végigpörgetni az időt perces lépésekben, és a cronból "lenyúlt" :) kóddal tesztelni, hogy adott sorok közül melyik "sül el".
De tényleg jó lenne a ténylegesen megvalósítandó feladatot is látni, illetve azt, hogy a crontab-ba hogyan és miért kerül be a bejegyzés, mert ha tényleg "egylövetű" futttasokról van szó, akkor "at" meg "atq" parancsokat javaslom alaposan nézegetni :-P
Ha meg nem egylövetű dolgokról van szó, és programból kerül a crontabba a bejegyzés, akkor nagyon nem mindegy, hogy a crontab első öt mezőjét hogyan kerül kitöltésre, lehet-e a napot/hónapot rövidítéssel megadni, etc.
- A hozzászóláshoz be kell jelentkezni
A videók nagy része 1-3 perc körüli és amikor ezek konvertálása egyszerre indul el akkor pár percre még annak a gépnek a Samba megosztása is használhatatlan lesz, hiába trükközök a prioritásokkal. De néha előfordulnak hosszabb videók is.
Az alap felállás az, hogy a videókonvertáló meghatározott időpontokban (pl 5 percenként) ránéz a beállított mappára és az ott talált videót átkonvertálja. Emiatt kell a cron. Viszont van néhány olyan projekt, amit a vágók maguk állítanak be akár ideiglenesen, és a beállításkor lássák, hogy ütik egymást ami emiatt akár jóval később készülhet el vele. Backend oldalon ez nyilván már meg van oldva: Ha már megy konvertálás akkor az újat nem indítja el, csak a legközelebbi időpontban. Idáig is OK a dolog, csak a vágók bepipálják a sürgős konvertálást is, mert nekik minden azonnal kell. A szűrés emiatt kell, hogy közölje vele a rendszer, hogy adott esetben sokra nem megy azzal ha sürgősre állítja be.
-------------------
https://onlinestream.hu/ - A legtöbb magyar rádió és TV egy helyen!
- A hozzászóláshoz be kell jelentkezni
Azaz egylövetű feladatok vannak, azaz pont nem a cron az, ami neked kell, hanem az "at", illetve a "batch" megfelelő használata. Egyébként meg a "termelő-fogyasztó minta" lehet még a te barátod.
- A hozzászóláshoz be kell jelentkezni
Nézem itt már egy ideje, hogy mi a francnak ezt cron-nal bonyolítani, amikor a batch a jó megoldás erre. Szóval miért is kell túlbonyolítani? A batch szépen sorbaállítja, és (egyesével, kettesével, ahogy belövöd) elindítja a konvertálást. Eleve nem értem, hogy ha zavaró terhelést okoz, ha több konvertálás zajlik, akkor miért adnak meg a feltöltő kollégák időpontot? Álljanak sorban és haladjanak szépen sorban.
=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
- A hozzászóláshoz be kell jelentkezni
+1
A sorban álláshoz lehet egy státusz oldalt készíteni, ha nagyon fontos.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Use the PID, Luke!
- A hozzászóláshoz be kell jelentkezni