Projekty s nedostatkem práce
-
- 78.9473684211 %
- Příspěvky: 7610
- Registrován: úte 13 led, 2009 15:33
- rok narození: 0- 0-1956
- ID CNT statistics: 10124
Projekty s nedostatkem práce
Pro zajištění práce z projektů, které jí mají nedostatek, lze využít schedulerů ze systémových nástrojů operačních systémů.
1. Windows: Systémové nástroje - naplánované úlohy, aplikace je součástí základní instalace systému
2. Ubuntu (ostatní Linuxy neznám, snad to bude obdobné): Systémové nástroje - Scheduled tasks, nutno doinstalovat z menu Aplikace - přidat/odstranit. Na Linuxu lze využít základního scheduleru cron, uvedená aplikace je zjednodušené a intuitivní grafické rozhraní ke cronu.
Ovládání mají obě aplikace téměř shodné, spouštěný příkaz je identický. Například pro LHC
1. Windows: cesta_k_boinc/boinccmd.exe --project http://lhcathomeclassic.cern.ch/sixtrack/ update
2. Ubuntu: ~/BOINC/boinccmd --project http://lhcathomeclassic.cern.ch/sixtrack/ update
Interval spouštění musí respektovat povolený interval dotazů na konkrétním projektu a to, že po takto vyvolaném dotazu další generuje klient sám. Většině projektů je to jedno a snesou otravování v 30s intervalu (tj. 1x za minutu scheduler, po 30s vyvolá dotaz sám klient). Výjimku tvoří (z těch nejpopulárnějších s nedostatkem práce) Ralph a The Lattice, kde jsem vypozoroval jako nejméně škod páchající interval 60 minut.
Tímto způsobem lze automatizovat i jiné záležitosti, například odevzdávání práce koncem turnaje PG, jako náhrada za featuru <report_results_immediately> v cc_config.
Přehled příkazů boinccmd je na našem fóru v sekci FAQ.
URL projektů lze jednoduše vygenerovat z Vítkova nástroje na mazání dluhů, dále jsou dostupné na stránkách projektů, v seznamu projektů či v souboru client_state.xml.
1. Windows: Systémové nástroje - naplánované úlohy, aplikace je součástí základní instalace systému
2. Ubuntu (ostatní Linuxy neznám, snad to bude obdobné): Systémové nástroje - Scheduled tasks, nutno doinstalovat z menu Aplikace - přidat/odstranit. Na Linuxu lze využít základního scheduleru cron, uvedená aplikace je zjednodušené a intuitivní grafické rozhraní ke cronu.
Ovládání mají obě aplikace téměř shodné, spouštěný příkaz je identický. Například pro LHC
1. Windows: cesta_k_boinc/boinccmd.exe --project http://lhcathomeclassic.cern.ch/sixtrack/ update
2. Ubuntu: ~/BOINC/boinccmd --project http://lhcathomeclassic.cern.ch/sixtrack/ update
Interval spouštění musí respektovat povolený interval dotazů na konkrétním projektu a to, že po takto vyvolaném dotazu další generuje klient sám. Většině projektů je to jedno a snesou otravování v 30s intervalu (tj. 1x za minutu scheduler, po 30s vyvolá dotaz sám klient). Výjimku tvoří (z těch nejpopulárnějších s nedostatkem práce) Ralph a The Lattice, kde jsem vypozoroval jako nejméně škod páchající interval 60 minut.
Tímto způsobem lze automatizovat i jiné záležitosti, například odevzdávání práce koncem turnaje PG, jako náhrada za featuru <report_results_immediately> v cc_config.
Přehled příkazů boinccmd je na našem fóru v sekci FAQ.
URL projektů lze jednoduše vygenerovat z Vítkova nástroje na mazání dluhů, dále jsou dostupné na stránkách projektů, v seznamu projektů či v souboru client_state.xml.
Blíží se konsolidační balíček pětikolky; šetřím trojbojem - piji staré víno, jím plesnivé sýry a jezdím v autě bez střechy.
UotD 767x
1x 3x 9x 12x
UotD 767x
1x 3x 9x 12x
- Ondra@SF.cz
- 36.8421052632 %
- Příspěvky: 597
- Registrován: pon 22 úno, 2010 16:36
- rok narození: 09 úno 1993
- ID CNT statistics: 8123
- Bydliště: Space Family
- Kontaktovat uživatele:
Re: Projekty s nedostatkem práce
Návod je pěkný, ale žádný z mých pokusů o rozběhání se mi nevyvedl ...
Mám Ubuntu 10.4, nainstalovaný Scheduled Tasks, nainstalovaný BOINC z REPOZITÁŘŮ a nevím, jaký tam mám zadat příkaz...chci, aby se každou minutu aktualizovalo WCG (kvůli DDDT2), ale nedělá to vůbec nic.
Soubor boinccmd.exe je umístěn v adresáři /usr/bin, složka s BOINC daty je umístěna ve /var/lib/boinc-client.
Jaký mám zadat příkaz? Zkoušel jsem ten tvůj s tím, že místo Mopac jsem zadal www.worldcommunitygrid.org a místo -/BOINC/ jsem zadal /usr/bin/ ...
Poradí někdo ?
Mám Ubuntu 10.4, nainstalovaný Scheduled Tasks, nainstalovaný BOINC z REPOZITÁŘŮ a nevím, jaký tam mám zadat příkaz...chci, aby se každou minutu aktualizovalo WCG (kvůli DDDT2), ale nedělá to vůbec nic.
Soubor boinccmd.exe je umístěn v adresáři /usr/bin, složka s BOINC daty je umístěna ve /var/lib/boinc-client.
Jaký mám zadat příkaz? Zkoušel jsem ten tvůj s tím, že místo Mopac jsem zadal www.worldcommunitygrid.org a místo -/BOINC/ jsem zadal /usr/bin/ ...
Poradí někdo ?
Pocitadlo : Deska - ASRock Fatal1ty Z77 Killer, CPU - Intel Pentium G3220(Haswell), 8GB RAM DDR3, GPU - ASUS DCIIOC AMD Radeon HD7790, Case - Chieftec LBX-02B-B-B, zdroj Seasonic X-1050 Gold, systém - dualboot ArchLinux (AntergOS) + Windows 8.1 64bit
Moje statistiky : BoincStats, B.Mundayweb, PrimeGrid a statistiky CNT od vklibera
PG medaile :
WCG medaile :
Poslouchám asi tak tohle (my Last.fm music profile)...
Moje statistiky : BoincStats, B.Mundayweb, PrimeGrid a statistiky CNT od vklibera
PG medaile :
WCG medaile :
Poslouchám asi tak tohle (my Last.fm music profile)...
- forest
- Admin webu a fóra CNT
- Příspěvky: 19635
- Registrován: pát 27 říj, 2006 10:19
- rok narození: 03 bře 1977
- ID CNT statistics: 71
- Bydliště: Újezd u Brna
Re: Projekty s nedostatkem práce
Musíš si najít a zadávat hlavně správnou adresu na scheduler. U WCG je to adresa grid.worldcommunitygrid.org
-
- 78.9473684211 %
- Příspěvky: 7610
- Registrován: úte 13 led, 2009 15:33
- rok narození: 0- 0-1956
- ID CNT statistics: 10124
Re: Projekty s nedostatkem práce
Ani v messages nemáš žádnou reakci? Pokud ne, tak máš buď špatně cestu do adresáře Boinc nebo špatnou adresu WCG. Pokud máš v messages reakci od WCG (...no work sent), tak je formálně vše v pořádku a "pouze" není práce.Ondra@SF.cz píše: ale nedělá to vůbec nic.
Formální správnost nejlépe otestuješ tak, že zadaný task spustíš ručně a v BM při otevřené záložce messages pozoruješ reakci.
Ověřit správnost cesty k boinc lze jednoduše - jako projekt zadáš něco, o čem víš s jistotou, že reaguje, může to být klidně suspendnutý projekt.
Blíží se konsolidační balíček pětikolky; šetřím trojbojem - piji staré víno, jím plesnivé sýry a jezdím v autě bez střechy.
UotD 767x
1x 3x 9x 12x
UotD 767x
1x 3x 9x 12x
- Ondra@SF.cz
- 36.8421052632 %
- Příspěvky: 597
- Registrován: pon 22 úno, 2010 16:36
- rok narození: 09 úno 1993
- ID CNT statistics: 8123
- Bydliště: Space Family
- Kontaktovat uživatele:
Re: Projekty s nedostatkem práce
Nenene, nedělá to vůbec nic...zkusím to s tou jinou adresou scheduleru, to bude nejspíš ono...nenym píše:Ani v messages nemáš žádnou reakci? Pokud ne, tak máš buď špatně cestu do adresáře Boinc nebo špatnou adresu WCG. Pokud máš v messages reakci od WCG (...no work sent), tak je formálně vše v pořádku a "pouze" není práce.Ondra@SF.cz píše: ale nedělá to vůbec nic.
Pocitadlo : Deska - ASRock Fatal1ty Z77 Killer, CPU - Intel Pentium G3220(Haswell), 8GB RAM DDR3, GPU - ASUS DCIIOC AMD Radeon HD7790, Case - Chieftec LBX-02B-B-B, zdroj Seasonic X-1050 Gold, systém - dualboot ArchLinux (AntergOS) + Windows 8.1 64bit
Moje statistiky : BoincStats, B.Mundayweb, PrimeGrid a statistiky CNT od vklibera
PG medaile :
WCG medaile :
Poslouchám asi tak tohle (my Last.fm music profile)...
Moje statistiky : BoincStats, B.Mundayweb, PrimeGrid a statistiky CNT od vklibera
PG medaile :
WCG medaile :
Poslouchám asi tak tohle (my Last.fm music profile)...
- petnek
- Moderátor
- Příspěvky: 3669
- Registrován: pon 28 led, 2008 12:44
- rok narození: 16 kvě 1987
- ID CNT statistics: 10883
- Bydliště: Tábor
- Kontaktovat uživatele:
Re: Projekty s nedostatkem práce
Tak udice na DrugDiscovery nefunguje jak má. Spustil jsem ji manuálně a čekal jsem, že se spustí za dalších 5 minut a ono nic. Je nastavena tak, že se spouští po spuštění systému a potom každých 5 minut bez omezení pokud je k dispozici jakékoli síťové připojení. Kde je tedy chyba? Restartovat systém se mi kvůli tomu nechce (WUs bez checkpointu a mnoho rozpočítaných úloh - velká ztráta).
Nejde taky nějakým parametrem nastavit, aby vždycky neprobliklo okno s bat souborem, ve kterém je onen příkaz pro aktualizaci napsán? Při více projektech a častém opakování by to mohlo dosti rušit
Nejde taky nějakým parametrem nastavit, aby vždycky neprobliklo okno s bat souborem, ve kterém je onen příkaz pro aktualizaci napsán? Při více projektech a častém opakování by to mohlo dosti rušit
-
- 78.9473684211 %
- Příspěvky: 7610
- Registrován: úte 13 led, 2009 15:33
- rok narození: 0- 0-1956
- ID CNT statistics: 10124
Re: Projekty s nedostatkem práce
Probliknutí - spouštěj to jako SYSTEM, nikoli user.
Opakování úlohy - podívej se do plánu, kdy bude další spuštění, píše to. Pokud nepíše do 5 minut, tak máš chybu v zadání plánu. Já nedělám plán spuštění po startu, stejně je to k ničemu, protože core má dost starostí samo se sebou, mám plán od 0:0x:xx v daném intervalu tak, aby se jednotlivé úlohy nespouštěly ve stejný okamžik. Restart stroje určitě nepomůže, scheduler ve W7 je obzvláště odporný, nesrozumitelný a nepřehledný, zlatá XP. V prvním kole bych zkusil vykopnout podmínku na existující síťové připojení.
Ještě je tam kdesi jeden fígl - vypnout úlohu, když běží XX hodin, defaultně je tam nastaveno 72 hodin. Vyřadit z činnosti toto omezení.
Opakování úlohy - podívej se do plánu, kdy bude další spuštění, píše to. Pokud nepíše do 5 minut, tak máš chybu v zadání plánu. Já nedělám plán spuštění po startu, stejně je to k ničemu, protože core má dost starostí samo se sebou, mám plán od 0:0x:xx v daném intervalu tak, aby se jednotlivé úlohy nespouštěly ve stejný okamžik. Restart stroje určitě nepomůže, scheduler ve W7 je obzvláště odporný, nesrozumitelný a nepřehledný, zlatá XP. V prvním kole bych zkusil vykopnout podmínku na existující síťové připojení.
Ještě je tam kdesi jeden fígl - vypnout úlohu, když běží XX hodin, defaultně je tam nastaveno 72 hodin. Vyřadit z činnosti toto omezení.
Blíží se konsolidační balíček pětikolky; šetřím trojbojem - piji staré víno, jím plesnivé sýry a jezdím v autě bez střechy.
UotD 767x
1x 3x 9x 12x
UotD 767x
1x 3x 9x 12x
- petnek
- Moderátor
- Příspěvky: 3669
- Registrován: pon 28 led, 2008 12:44
- rok narození: 16 kvě 1987
- ID CNT statistics: 10883
- Bydliště: Tábor
- Kontaktovat uživatele:
Re: Projekty s nedostatkem práce
User > SYSTEM - nastaveno
podmínka síťového připojení a vypnutí běžící úlohy vypnuto. Nastavil jsem to tak, že se mi to bude spouštět každý den ve 23:10 a pak každých 5 minut, bez omezení. Další spuštění už je tam psáno, takže to je OK. Pokud ale pustím PC ve 23:15 a aktivuji úlohu ručně, bude se pak každých 5 minut opakovat?
podmínka síťového připojení a vypnutí běžící úlohy vypnuto. Nastavil jsem to tak, že se mi to bude spouštět každý den ve 23:10 a pak každých 5 minut, bez omezení. Další spuštění už je tam psáno, takže to je OK. Pokud ale pustím PC ve 23:15 a aktivuji úlohu ručně, bude se pak každých 5 minut opakovat?
-
- 78.9473684211 %
- Příspěvky: 7610
- Registrován: úte 13 led, 2009 15:33
- rok narození: 0- 0-1956
- ID CNT statistics: 10124
Re: Projekty s nedostatkem práce
Musíš ještě nastavit dobu trvání - 24 hodin nebo do kolika to chceš, pokud to 6 ráno, tak 7 hodin. Tak nějak to nastavuji. Možná, že jsou i jiné způsoby, W7 schedluler je tak složitý, že nepochybně, v XP těch možností moc není a jde tam pouze zadat.
- dny v týdnu
- okamžik spuštění
- interval opakování
- doba trvání (od prvního spuštění) nebo do kdy má být úloha spuštěna (stejně se to přepočte na dobu trvání)
Případně lze zadat i více plánů spouštění.
Ruční spuštění úlohy nemá na plán vliv.
- dny v týdnu
- okamžik spuštění
- interval opakování
- doba trvání (od prvního spuštění) nebo do kdy má být úloha spuštěna (stejně se to přepočte na dobu trvání)
Případně lze zadat i více plánů spouštění.
Ruční spuštění úlohy nemá na plán vliv.
Blíží se konsolidační balíček pětikolky; šetřím trojbojem - piji staré víno, jím plesnivé sýry a jezdím v autě bez střechy.
UotD 767x
1x 3x 9x 12x
UotD 767x
1x 3x 9x 12x
- petnek
- Moderátor
- Příspěvky: 3669
- Registrován: pon 28 led, 2008 12:44
- rok narození: 16 kvě 1987
- ID CNT statistics: 10883
- Bydliště: Tábor
- Kontaktovat uživatele:
Re: Projekty s nedostatkem práce
Uvidím jak to bude šlapat až PC znovu zapnu...
PS: nefungují mi udičky pro Lattice a uFluids. Zadával jsem adresy z domény projekty, ale nefungují. Jaké mám zadat nebo kde to zjistit? Zkoušel jsem i adresu scheduleru z client_state.xml, ale nejde to.
PS: nefungují mi udičky pro Lattice a uFluids. Zadával jsem adresy z domény projekty, ale nefungují. Jaké mám zadat nebo kde to zjistit? Zkoušel jsem i adresu scheduleru z client_state.xml, ale nejde to.
-
- 78.9473684211 %
- Příspěvky: 7610
- Registrován: úte 13 led, 2009 15:33
- rok narození: 0- 0-1956
- ID CNT statistics: 10124
Re: Projekty s nedostatkem práce
Bohužel ve W7 ti se schedulerem moc neporadím. Pravidlo pro identifikaci oblasti vadného zadání je takové:
1. když není reakce v messages BM na ruční spuštění úlohy, tak je problém v parametrech úlohy (vadná cesta k adresáři Boinc, chybná adresa projektu nebo ve WCG scheduleru, překlep v parametru)
2. pokud je reakce v BM na ručně spuštěnou úlohu, je vadně zadán plán spouštění ve scheduleru
Já osobně to dělám tak, že kopíruji fungující úlohu a měním jí parametry, pak může být chyba pouze v zadání parametrů úlohy a plán scheduleru je dobře.
Jaký přesně máš problém ty?
1. když není reakce v messages BM na ruční spuštění úlohy, tak je problém v parametrech úlohy (vadná cesta k adresáři Boinc, chybná adresa projektu nebo ve WCG scheduleru, překlep v parametru)
2. pokud je reakce v BM na ručně spuštěnou úlohu, je vadně zadán plán spouštění ve scheduleru
Já osobně to dělám tak, že kopíruji fungující úlohu a měním jí parametry, pak může být chyba pouze v zadání parametrů úlohy a plán scheduleru je dobře.
Jaký přesně máš problém ty?
Blíží se konsolidační balíček pětikolky; šetřím trojbojem - piji staré víno, jím plesnivé sýry a jezdím v autě bez střechy.
UotD 767x
1x 3x 9x 12x
UotD 767x
1x 3x 9x 12x
- petnek
- Moderátor
- Příspěvky: 3669
- Registrován: pon 28 led, 2008 12:44
- rok narození: 16 kvě 1987
- ID CNT statistics: 10883
- Bydliště: Tábor
- Kontaktovat uživatele:
Re: Projekty s nedostatkem práce
Já kopíruji již funkční bat soubory s udičkami a v nich měním adresu. Kopíroval a upravil jsem funkční, ale na dva zmiňované projekty nefunguje ani ruční spuštění baťáku. Myslím, že chyba bude v adrese.
-
- 78.9473684211 %
- Příspěvky: 7610
- Registrován: úte 13 led, 2009 15:33
- rok narození: 0- 0-1956
- ID CNT statistics: 10124
Re: Projekty s nedostatkem práce
Zkus main url z client_state, to by mělo být přesně to, co potřebuješ.
Blíží se konsolidační balíček pětikolky; šetřím trojbojem - piji staré víno, jím plesnivé sýry a jezdím v autě bez střechy.
UotD 767x
1x 3x 9x 12x
UotD 767x
1x 3x 9x 12x
- petnek
- Moderátor
- Příspěvky: 3669
- Registrován: pon 28 led, 2008 12:44
- rok narození: 16 kvě 1987
- ID CNT statistics: 10883
- Bydliště: Tábor
- Kontaktovat uživatele:
Re: Projekty s nedostatkem práce
Ne, prostě to nefunguje
udička na uFluids (nefunguje, url z client_state.xml - master url):
udička na DrugDiscovery (funguje, url také z client_state.xml):
udička na uFluids (nefunguje, url z client_state.xml - master url):
Kód: Vybrat vše
"C:\Program Files\BOINC\boinccmd.exe" --project http://www.ufluids.net -update
Kód: Vybrat vše
"C:\Program Files\BOINC\boinccmd.exe" --project http://boinc.drugdiscoveryathome.com/ update
-
- 78.9473684211 %
- Příspěvky: 7610
- Registrován: úte 13 led, 2009 15:33
- rok narození: 0- 0-1956
- ID CNT statistics: 10124
Re: Projekty s nedostatkem práce
Nojo, "-update" není totéž, co "update". Takže překlep.
Blíží se konsolidační balíček pětikolky; šetřím trojbojem - piji staré víno, jím plesnivé sýry a jezdím v autě bez střechy.
UotD 767x
1x 3x 9x 12x
UotD 767x
1x 3x 9x 12x
- petnek
- Moderátor
- Příspěvky: 3669
- Registrován: pon 28 led, 2008 12:44
- rok narození: 16 kvě 1987
- ID CNT statistics: 10883
- Bydliště: Tábor
- Kontaktovat uživatele:
Re: Projekty s nedostatkem práce
No jo, tím to bylo. Tak šup s kbelíkem popela na mou lébu . Díky
- Arogant
- 26.3157894737 %
- Příspěvky: 235
- Registrován: pát 03 dub, 2009 18:27
- rok narození: 0- 0-1981
- ID CNT statistics: 17227
- Bydliště: Plzeň
Re: Projekty s nedostatkem práce
Pěkně prosím zvládnul by někdo napsat návod pro blbce jak na Plánovač úloh v W7? Trápím se s tím přes p§l hodiny a netuším jak na to. V XP jsem si s tím poradil ale tady ne. Děkuju moc.
- petnek
- Moderátor
- Příspěvky: 3669
- Registrován: pon 28 led, 2008 12:44
- rok narození: 16 kvě 1987
- ID CNT statistics: 10883
- Bydliště: Tábor
- Kontaktovat uživatele:
Re: Projekty s nedostatkem práce
Nejdřív jsem si udělal v plánovači složku BOINC, kde mám naplánované úlohy hádejte pro co..? Těžká otázka, já vím ...
Pro zjednodušení přikládám dva soubory: Nelekejte se, není to PDF, ale bat. Takže po stažení to přejmenujete na BOINCDrug.bat. Přípony bat, txt nejsou pro vkládání na forum povoleny... Tohle opět není PDF, ale xml. Takže po stažení také přejmenovat...
V plánovači úloh dáte importovat úlohu v pravém panelu a vyberete MindModeling.xml (pojmenujte si to jak chcete - exportoval jsem svoje nastavení pro MindModeling...) > otevře se nabídka Vytvořit úlohu > Název: jaký chcete. Já si úlohu pojmenovávám podle projektu ke kterému patří > Záložka Aktivační události: Označit v nabídce jedinou a dole Upravit > Je nastavena tak, že se spouští pořád, každých 10 minut. To si můžete změnit dle libosti > potvrdit změny > Záložka Akce > označíte Spustit program (jediná akce v nabídce) a dáte Upravit > program či skript, respektive jeho adresu navedete tam, kde je váš stažený BOINCDrug.bat (doporučuji ho přejmenovat zase podle názvu projektu - pro přehlednost). Tento bat soubor obsahuje příkaz, který spouští aktualizaci projektu v BM. Koukněte se do něj a případně upravte adresu k boinccmd.exe. Musí směřovat do adresáře s nainstalovaným BM, nikoli do datového adresáře, který je v C:/ProgramData! Upravte také adresu projektu, kterou najdete tak jak nenym vysvětluje v prvním příspěvku dole. Po přizpůsobení bat souboru ho vyberte v plánovači úloh a potvrďte. Záložky Podmínky a Nastavení měnit nemusíte, mě to tak funguje, vám by mělo taky... Pak už jen "OK" a je naplánována. Po odklepnutí OK se může stát, že bude úloha zastavena. Tedy na ni klikneme a v pravém sloupečku v plánovači úloh dáme Povolit. Pokud následně dáte v pravém sloupečku Spustit, úloha se provede a v BOINC Manageru by se u projektu měla objevit hláška o vyžádané aktualizaci projektu uživatelem stejně jako když projekt vyberete a dáte Aktualizovat.
Toť vše, nahoďte udice a přeji co nejlepší úlovky
Pro zjednodušení přikládám dva soubory: Nelekejte se, není to PDF, ale bat. Takže po stažení to přejmenujete na BOINCDrug.bat. Přípony bat, txt nejsou pro vkládání na forum povoleny... Tohle opět není PDF, ale xml. Takže po stažení také přejmenovat...
V plánovači úloh dáte importovat úlohu v pravém panelu a vyberete MindModeling.xml (pojmenujte si to jak chcete - exportoval jsem svoje nastavení pro MindModeling...) > otevře se nabídka Vytvořit úlohu > Název: jaký chcete. Já si úlohu pojmenovávám podle projektu ke kterému patří > Záložka Aktivační události: Označit v nabídce jedinou a dole Upravit > Je nastavena tak, že se spouští pořád, každých 10 minut. To si můžete změnit dle libosti > potvrdit změny > Záložka Akce > označíte Spustit program (jediná akce v nabídce) a dáte Upravit > program či skript, respektive jeho adresu navedete tam, kde je váš stažený BOINCDrug.bat (doporučuji ho přejmenovat zase podle názvu projektu - pro přehlednost). Tento bat soubor obsahuje příkaz, který spouští aktualizaci projektu v BM. Koukněte se do něj a případně upravte adresu k boinccmd.exe. Musí směřovat do adresáře s nainstalovaným BM, nikoli do datového adresáře, který je v C:/ProgramData! Upravte také adresu projektu, kterou najdete tak jak nenym vysvětluje v prvním příspěvku dole. Po přizpůsobení bat souboru ho vyberte v plánovači úloh a potvrďte. Záložky Podmínky a Nastavení měnit nemusíte, mě to tak funguje, vám by mělo taky... Pak už jen "OK" a je naplánována. Po odklepnutí OK se může stát, že bude úloha zastavena. Tedy na ni klikneme a v pravém sloupečku v plánovači úloh dáme Povolit. Pokud následně dáte v pravém sloupečku Spustit, úloha se provede a v BOINC Manageru by se u projektu měla objevit hláška o vyžádané aktualizaci projektu uživatelem stejně jako když projekt vyberete a dáte Aktualizovat.
Toť vše, nahoďte udice a přeji co nejlepší úlovky
-
- 78.9473684211 %
- Příspěvky: 7610
- Registrován: úte 13 led, 2009 15:33
- rok narození: 0- 0-1956
- ID CNT statistics: 10124
Re: Projekty s nedostatkem práce
Na core rodiny 7 udice většinou nefunguje, jak na exoty netuším. Vymyslel někdo něco zautomatizovatelného
Blíží se konsolidační balíček pětikolky; šetřím trojbojem - piji staré víno, jím plesnivé sýry a jezdím v autě bez střechy.
UotD 767x
1x 3x 9x 12x
UotD 767x
1x 3x 9x 12x
-
- 78.9473684211 %
- Příspěvky: 7610
- Registrován: úte 13 led, 2009 15:33
- rok narození: 0- 0-1956
- ID CNT statistics: 10124
Re: Projekty s nedostatkem práce
Ano, pro widle i Linux vkliber. Automat na udržování předem definovaného počtu tasků v aktivním stavu, zbytek suspendnut. Takto je core pořád hladové a udice si pořád říká o práci na žádanějších projektech.nenym píše:Na core rodiny 7 udice většinou nefunguje, jak na exoty netuším. Vymyslel někdo něco zautomatizovatelného
Widle:
Kód: Vybrat vše
/*!
Autor : Vit Kliber, Czech National Team o.s.
Vytvoreno : 11.01.2012
Nazev : boinc_manage_wcg_tasks.js
Zdroj : boinc_framework.js
Popis : Skript vychazi z Kostry skriptu pro budouci skripy pro manipulaci s jednotkami
( url=http://forum.czechnationalteam.cz/viewtopic.php?p=53537#p53537 )
Tento provadi manipulaci s jednotkami projektu WCG ( http://www.worldcommunitygrid.org/ )
Pozadavek je nasledujici : nechat pocitat maximalne 8 <pocet_aktivnich_jednotek> jednotky
a ostatni pozastavit
*/
// adresa projektu (nejpravdepodobneji bude skript manipulovat s jednotkami jednoho projektu)
var projekt = "http://www.worldcommunitygrid.org/";
// pocet maximalne aktivnich jednotek
var pocet_aktivnich_jednotek = 8;
// verze boinc, je zjistena funkci verze(), pokud je prazdne nepodarilo se zjistit a skript se ukonci
var boinc_verze = "";
// prikaz pro zjisteni aktualnich jednotek v BOINC
var boinc_jednotky = "";
// prikaz pro manipulaci s jednotkou
var boinc_jednotka = "";
// 1 = Debug ON, 0 = Debug OFF ... jestli se maji vypisovat pri behu hlaseni
var debug_code = 1;
// pro vypsani ladiciho textu pri behu skriptu
function alert(text)
{
if (debug_code != 1)
{
return (new ActiveXObject("WScript.Shell")).Popup(text, 0, WScript.ScriptName, 64);
}
}
// zjisti verzi BOINC
function verze()
{
// definice noveho objektu WScript.Shell (umozni mi spoustet externi prikazy)
var objekt_shell = new ActiveXObject("WScript.Shell");
// definice metody Exec, spusti prikaz a pointer uchova v promene <objekt_exec>
var objekt_exec = objekt_shell.Exec("boinccmd.exe --version");
// textova promena do ktere se ulozi cely obsah standardniho vystupu predchazejiciho prikazu
var verze_text = objekt_exec.StdOut.ReadAll();
alert(verze_text);
// promena <verze_text> by mela nyni obsahovat jeden radek s timto obsahem (podle verze) : "boinccmd, built from BOINC 6.12.33"
// uchovam pozici textu BOINC z promene <verze_text>
var pozice = verze_text.indexOf("BOINC");
// jestlize je ruzne od -1 tak v obsahu <verze_text> je na pozici <pozice> text BOINC (podarilo se spustit prikaz "boinccmd.exe --version")
if (pozice != -1)
{
// z <verze_text> vyriznu text od pozice <pozice> (prictu 6 ... delka textu BOINC a mezera)
boinc_verze = verze_text.substr(6+pozice);
// nyni je v <boinc_verze> hodnota 6.12.33
alert(boinc_verze);
return true;
}
else // verzi BOINC se nepodarilo zjistit, vracim FALSE
{
return false;
}
}
// funkce pro porovnani dvou verzi ve tvaru X.X.X, ocekava promene ve tvaru pole
function porovnani_verzi(verze1, verze2)
{
// promenne <verze1> a <verze2> jsou pole textovych retezcu, tak je prevedu na cisla
verze1[0] = (parseInt(verze1[0]) || 0);
verze1[1] = (parseInt(verze1[1]) || 0);
verze1[2] = (parseInt(verze1[2]) || 0);
verze2[0] = (parseInt(verze2[0]) || 0);
verze2[1] = (parseInt(verze2[1]) || 0);
verze2[2] = (parseInt(verze2[2]) || 0);
if (verze2[0] != verze1[0])
return (verze2[0] > verze1[0]);
else
{
if (verze2[1] != verze1[1])
return (verze2[1] > verze1[1]);
else
{
if (verze2[2] != verze1[2])
return (verze2[2] > verze1[2]);
else
return true;
}
}
}
// odstrani z retezce koncove mezery a znak konce radku
function trim(text)
{
return text.replace(new RegExp("[" + "\\n\\s" + "]+$", "g"), "");
}
// provede nastaveni promenych podle verze BOINC
function init()
{
// od verze BOINC 6.12 vcetne je jina syntaxe programu boinccmd
var verze_pro_porovnani = "6.12.0";
// zavolam funkci ktera zjisti verzi BOINC a pokud se to podari nastavim zakladni promenne
if (verze())
{
alert("Porovnavam verzi " + boinc_verze + " s referencni verzi " + verze_pro_porovnani);
if (porovnani_verzi(verze_pro_porovnani.split('.'),boinc_verze.split('.')))
{
// Verze BOINC >= 6.12
boinc_jednotky = "boinccmd.exe --get_tasks";
boinc_jednotka = "boinccmd.exe --task";
}
else
{
// Verze BOINC < 6.12
boinc_jednotky = "boinccmd.exe --get_results";
boinc_jednotka = "boinccmd.exe --result";
}
return true;
}
else // funkce pro zjisteni verze se nepodarila, vracim FALSE
{
return false;
}
}
/* MAIN */
// zavolam funkci ktera nastavi zakladni promenne
if (init())
{
// v tuto chvili je uspesne zjistena verze a
// uspesne nastavene zakladni promenne <boinc_jednotky> a <boinc_jednotka>
// definuji novy objekt WScript.Shell (umozni mi spoustet externi prikazy)
var objekt_shell = new ActiveXObject("WScript.Shell");
// definuji metodu Exec, spusti prikaz <boinc_jednotky> a pointer uchova v promene <objekt_exec>
var objekt_exec = objekt_shell.Exec(boinc_jednotky);
// textova promena do ktere se ulozi cely obsah standardniho vystupu predchazejiciho prikazu
var text_vystup = objekt_exec.StdOut.ReadAll();
// na konec <text_vystup> jeste pridam jednu prazdnou sekci abych pak nemusel resit konec
text_vystup = text_vystup + '\n' + "X) -----------" + '\n';
// promena <text_vystup> by mela nyni obsahovat cely standardni vystup ktery vraci prikaz "boinccmd.exe --get_tasks"
// definuji pole do ktereho prevedu obsah <text_vystup>
var pole_vystup = new Array();
// oddelovacem bude znak EOL (EndOfLine) neboli \n
// pole <pole_vystup> se naplni tak, ze kazdy dalsi radek bude v dalsim prvku
// 1. radek v pole_vystup[0], 2. radek v pole_vystup[1], ...
pole_vystup = text_vystup.split('\n');
// nyni musime v cyklu projit vsechny radky (vyzaduje znalost vystupu "boinccmd.exe --get_tasks")
// jednotlive jednotky jsou oddeleny v sekcich a o kterou jednotku se jedna zjistime az uvnitr sekce
// takze si do nejakych promenych musime ukladat co budeme dale potrebovat a az sekce skonci
// (zacne nova ... proto jsme si na konec pridali jednu prazdnou sekci pro ukonceni posledni sekce)
// tak se rozhodneme podle obsahu ulozenych promenych co dal podnikneme
// pripravim si promenne
var b_name = ""; // nazev jednotky (name)
var b_state = ""; // stav jednotky (state) 2 ... Pocita nebo Pripraven nebo Cekam na zpracovani, 4 ... Odesilam, 5 ... Odeslan. Pripraven k ohlaseni
var b_scheduler_state = ""; // stav scheduleru jednotky (scheduler state) 0 ... Pripraven, 1 ... Cekam na zpracovani, 2 ... Pocita
var b_suspended_via_GUI = ""; // pozastaveno (suspended via GUI) no, yes
var b_active_task_state = ""; // stav jednotky (active_task_state) 0 ... Pripraven, 1 ... Pocitam, 9 ... Cekam na zpracovani
var ano = 0; // 1 = ANO, 0 = NE ... jestli se jedna o projekt ktery nas zajima
var ind = 0; // index pro pole do ktereho budu ukladat hodnoty
var jednotka = new Array(); // pole do ktereho se budou ukladat radky
// kazdy radek bude zase pole ve tvaru ([0] = name, [1] = state, [2] = scheduler_state, [3] = suspended_via_GUI, [4] = active_task_state)
// a ted cyklus pres cele pole
for(var i = 0; i < pole_vystup.length; i++)
{
// jestlize radek obsahuje text ") -----------" tak se jedna o zacatek nove sekce
if (pole_vystup[i].indexOf(") -----------") != -1)
{
// jestlize je <ano> nastaveno (jedna se o projekt ktery nas zajima) je treba provest pozadovanou akci
if (ano == 1) {
alert("NACITANI JEDNOTEK (" + ind + ") :\nProjekt:" + projekt + "\nJednotka:" + b_name + "\nStav:" + b_state + "\nStav scheduleru:" + b_scheduler_state + "\nsuspended_via_GUI:" + b_suspended_via_GUI + "\nactive_task_state:" + b_active_task_state);
// dale me budou zajimat pouze jednotky ktere maji stav jednotky = 2 (state), ty ktere jsou ve stavu Odesilam nebo Odeslany uz resit nebudu
if (b_state == 2 || b_state == "downloaded") {
// ulozim hodnoty do pole
jednotka[ind] = new Array(b_name, b_state, b_scheduler_state, b_suspended_via_GUI, b_active_task_state);
// a zvednu index o 1
ind = ind + 1;
}
}
// a po akci si opet vynulujeme promenne
b_name = "";
b_state = "";
b_scheduler_state = "";
b_suspended_via_GUI = "";
b_active_task_state = "";
ano = 0;
}
// jestlize radek obsahuje text " name: " tak se jedna o radek kde je nazev jednotky
else if (pole_vystup[i].indexOf(" name: ") != -1)
{
// a nazev jednotky si uchovam do <b_name>
b_name = trim(pole_vystup[i].substr(9));
}
// jestlize radek obsahuje text " state: " tak se jedna o radek kde je stav jednotky
else if (pole_vystup[i].indexOf(" state: ") != -1)
{
// a stav jednotky si uchovam do <b_state>
b_state = trim(pole_vystup[i].substr(10));
}
// jestlize radek obsahuje text " scheduler state: " tak se jedna o radek kde je stav scheduleru jednotky
else if (pole_vystup[i].indexOf(" scheduler state: ") != -1)
{
// a stav scheduleru jednotky si uchovam do <b_scheduler_state>
b_scheduler_state = trim(pole_vystup[i].substr(20));
}
// jestlize radek obsahuje text " suspended via GUI: " tak se jedna o radek kde je informace o pozastaveni jednotky
else if (pole_vystup[i].indexOf(" suspended via GUI: ") != -1)
{
// a informaci o pozastaveni jednotky si uchovam do <b_suspended_via_GUI>
b_suspended_via_GUI = trim(pole_vystup[i].substr(22));
}
// jestlize radek obsahuje text " active_task_state: " tak se jedna o radek kde je informace o active_task_state
else if (pole_vystup[i].indexOf(" active_task_state: ") != -1)
{
// a informaci o active_task_state si uchovam do <active_task_state>
b_active_task_state = trim(pole_vystup[i].substr(22));
}
// jestlize radek obsahuje text " project URL: " tak se jedna o radek kde je adresa projektu
else if (pole_vystup[i].indexOf(" project URL: ") != -1)
{
// a jestli radek obsahuje i adresu projektu ktery me zajima, tak si nastavim <ano>
if (pole_vystup[i].indexOf(" project URL: " + projekt) != -1)
{
ano = 1;
}
else
{
ano = 0;
}
}
}
// jestlize je pole naplnene, tak <ind> bude vetsi nez 0
if (ind > 0)
{
/*
// cele pole projdeme radek po radku a vypiseme
for(var i = 0; i < ind; i++)
{
alert("VYPIS JEDNOTEK (" + i + ") :\nProjekt:" + projekt + "\nJednotka:" + jednotka[i][0] + "\nStav:" + jednotka[i][1] + "\nStav scheduleru:" + jednotka[i][2] + "\nsuspended_via_GUI:" + jednotka[i][3] + "\nactive_task_state:" + jednotka[i][4]);
}
*/
// pro nas pozadavek je ale vhodne prochazet pole od konce, a jednotky postupne pozastavit (nebo nechat pozastavene)
// a teprve az se dostaneme na zacatek pole, tak prvnich nekolik jednotek pustit (nebo nechat pustenych)
for(var i = ind-1; i >= 0; i--)
{
alert("VYPIS JEDNOTEK OD KONCE (" + i + ") :\nProjekt:" + projekt + "\nJednotka:" + jednotka[i][0] + "\nStav:" + jednotka[i][1] + "\nStav scheduleru:" + jednotka[i][2] + "\nsuspended_via_GUI:" + jednotka[i][3] + "\nactive_task_state:" + jednotka[i][4]);
// v promenne <pocet_aktivnich_jednotek> je pocet jednotek ktere se maji pocitat
if (i < pocet_aktivnich_jednotek)
// vsechny jednotky ktere maji index <i> mensi nez <pocet_aktivnich_jednotek> pustime
{
// zjistime jestli je jednotka pozastavena
if (jednotka[i][3] == "yes")
{
// a jestli ano tak ji pustime
alert("Spoustim jednotku " + jednotka[i][0]);
var resume_exec = objekt_shell.Exec(boinc_jednotka + " " + projekt + " " + jednotka[i][0] + " resume");
}
}
else
// vsechny ostatni pozastavime
{
// zjistime jestli neni jednotka pozastavena
if (jednotka[i][3] == "no")
{
// a jestli neni tak ji pozastavime
alert("Zastavuji jednotku " + jednotka[i][0]);
var suspend_exec = objekt_shell.Exec(boinc_jednotka + " " + projekt + " " + jednotka[i][0] + " suspend");
}
}
}
}
}
alert("Konec.");
Linux: prosím vklibera o doplnění, moje verze je velmi prapodivná - udělal jsem kdysi při úpravě pro Ubuntu 9.4 bez požadovaného shellu chybu, kterou jsem zamaskoval jinou, nějak to funguje, ale hluboce se za to stydím.vkliber píše:Soubor uložit do stejného adresáře, kde je boinccmd.exe. Po uložení souboru WCG_manage.js na něj kliknout pravým tlačítkem myši a kliknout na "Vlastnosti". Ve vlastnostech se přepnout na kartu "Skript", zaškrtnout "Zastavit skript po:" a nastavit 10 sekund a odškrtnout "Zobrazit logo ...". Dále vytvořit zástupce ve stejném adresáři (chytnout soubor WCG_manage.js pravým tlačítkem myši, posunout a pustit a stisknout "Vytvořit zde zástupce". Vytvořeného zástupce přejmenovat na WCG_manage.js, dále na něj kliknout pravým tlačítkem a a kliknout na "Vlastnosti". Ve vlastnostech se přepnout na kartu "Zástupce", zkontrolovat jestli hodnota "Spustit v:" odpovídá adresáři ve kterém se nachází skript WCG_manage.js a nastavit "Spustit:" na hodnotu "V minimalizovaném okně".
Tím je připravený skript ke spuštění. Je možno odzkoušet tak, že spustíte BOINC Manager aktivujte "přebytečné" jednotky, a pak poklepete na WCG_manage.js. Jednotky by se měly označit jako pozastavené.
Dále je nutné zařadit skript WCG_manage.js do naplánovaných úloh ve Windows, tady se postup pro WinXP už výrazně liší od Vista a 7, proto ho nebudu podrobně popisovat. Každý ať si taky zvolí svůj časový plán.
Naposledy upravil(a) nenym dne pát 15 kvě, 2015 10:21, celkem upraveno 1 x.
Důvod: Upraveno pro WCG a 8 jednotek by Cerberus
Důvod: Upraveno pro WCG a 8 jednotek by Cerberus
Blíží se konsolidační balíček pětikolky; šetřím trojbojem - piji staré víno, jím plesnivé sýry a jezdím v autě bez střechy.
UotD 767x
1x 3x 9x 12x
UotD 767x
1x 3x 9x 12x