Portál AbcLinuxu, 30. dubna 2025 17:10
Naprogramoval jsem program QtJobs, primárně pro článek Grafické programy v Qt 4 – 11 (vláknování s QThreadPool). Slouží k paralelnímu spouštění uživatelsky zadaného příkazu na zadané soubory v tolika vláknech, kolik je ideální pro systém, na kterém program běží (případně si můžete zvolit vlastní počet vláken). Znáte-li program xjobs, tak můj program by se dal považovat za něco podobného s GUI.
Do perexu jsem zkopíroval info z mýho webu, podrobnější řeči o jeho používání a screenshoty najdete ve výše odkazovaném článku.
Teď mi jde o to o programu trochu rozšířit povědomí a zjistit, jestli se někomu hodí. Jak si možná pamatujete, psal jsem minule o tom, že už mě unavují zpátečnické metody optimální pro hardware z pravěku. Tohle je v podstatě pokračování. Rozhodl jsem se se situací trochu pohnout. Původně jsem psal podobný program pro tátu na hromadnou úpravu fotek, protože on zrovna nelibuje příkazovce a chtěl něco extrémně jednoduchýho. Tohle je v podstatě vylepšená a zobecněná verze toho původního programu.
Řekl bych, že je to prostý jak bulharská striptérka.
# nejdřív stáhnem aktuální zdrojáky git clone git://repo.or.cz/qtjobs.git # potom vygenerujeme binární soubor lokalizace (zatím jen česká, nativní je english) lrelease qtjobs.pro # vygenerujeme Makefile a sestavíme #ve 4 vláknech qmake && make #-j4 # spustíme program ./qtjobs
Na prvním tabu je třeba přidat soubory, na které bude po jednom (souboru) spouštěn daný příkaz dle předpisu. Na druhém tabu je třeba vyplnit předpis příkazu, nastavit spuštění celýho cirkusu. Je tam i podpora profilů, abyste to furt nemuseli vyplňovat dokola. Později můžu třeba dodat nějakej výchozí seznam profilů, aby to člověk mohl hned zkusit. Na třetí tab vás to samo přepne, když stisknete tlačítko "Spustit", které je na tom druhém. Uvidíte tam celkový průběh, seznam běžících příkazů, seznam úspěšně zpracovaných souborů a seznam příkazů, které selhaly. Až to celé doběhne, skočí na vás dialog, že vše proběhlo OK nebo že došlo k chybám. Příkazy lze zastavit (doběhnou ty co již běží a tradá) nebo zabít (mluví za vše: okamžité ukončení procesů).
Když to vyzkoušíte a najdete chybu nebo chyby, řekněte mi prosím o tom. Zrovna tak beru dobrý nápady na nový vlastnosti. Něco už jsem si sám navymejšlel v TODO.
Update: PKGBUILD.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.