UPDATE 12/11/12 Corretti alcuni piccoli bug, eliminato l'inutile pulsante "Esci" e aggiunti altri 2 pulsanti che comandano l'attività (Acceso/Spento) del client e/o della sola GPU
Ciao *
Se anche vi siete organizzati ormai con BoincStats, vi rilascio cmq un'alternativa.
Come
gualo, anch'io ormai avevo cominciato a codare un prg desktop per gestire la sospensione delle WU in vista di challenges e gare varie.
Visto che ormai c'ero e cmq volevo finirlo, questo è quanto ho tirato fuori:
Purtroppo mi sono ormai anche bloccato

Sembra che non esista la possibilità di creare un eseguibile Win con la versione 3.3 di Python, né tantomeno riesco a trovare sul sito ufficiale la 2.6 che richiede py2exe (il "compilatore"), quindi se qualcuno più intraprendente vuole fare un tentativo dovrà per forza scaricarsi python (da qui:
www.python.it/download/
) ed eseguire lo script da linea di comando:
c:\python33\python boinc.py
Qui c'è lo script con il corredo di icone:
Download
AVVERTENZE.
- Io ho sottomano solo Windows7 e ho codato e provato solo sul mio pc, non posso garantire che funzioni tutto al primo colpo, ma se ci sono difficoltà chiedete pure e cerco di aiutarvi (via Skype è più veloce)
- Non avendo sottomano soluzioni alternative (né tempo per cercarne) ho rinunciato alla ricerca a forza bruta dell'eseguibile. Nel codice il percorso al commander implementato è "C:\Program Files\BOINC" e l'eseguibile è "boinccmd.exe".
Il sorgente .py è puro testo, quindi con il blocco note o altro editor di puro testo non dovrebbe essere difficile adattarlo al prorio PC (o al proprio SO)
- Il percorso per il file "gui_rpc_auth.cfg" viene ricavato automaticamente dal log
COME FUNZIONA
Nella prima riga l'elenco dei progetti sottoscritti (lo stesso del Manager) l'ultima riga del log e il momento dell'ultimo update.
Il "Timer" è l'intervallo di aggiornamento/verifica dell'avanzamento delle WU, cliccando sul'icona della matita è possibile modificae il tempo. Non ho posto limiti al momento... nelle prossime releases vedremo
Gli altri due pulsanti: uno chiude e l'altro switcha la vista fra tutti i progetti e i soli progetti attivi (sono "Attivi" i progetti con WU da elaborare)
Nella riga titolo successiva:
- l'identificativo del progetto (lo stesso del Manager)
- l'evnetuale % su cui scatta la sospensione
- la deadline delle WU che vanno sospese (grazie Becks e Sabayonino per avermi involontariamente anticipato

)
- "Run" il numero di WU in elaborazione
- "Tot" il numero totale di WU in lavorazione (fra attive, in coda e sospese)
- "Coda" le WU in lavorazione (attive + tot senza sospese)
- "Lck" solo nel momento in cui avviene qualche sospensione il numero di WU che sono state sospese in qual passaggio
- "Ssp" il numero totale di WU sospese
- "Inviate" contatore di tutte le WU inviate al progetto (quelle contate dal prg, non dalla notte dei tempi)
- "Tot" il totale WU che sono passate (quelle in lavorazione e quelle già inviate)
N.B.
Questi due totali vengono gestiti controllando periodicamente il log eventi, quindi dicono quante WU sono state "controllate" dal programma, non da quando avete attachato il progetto anni fa
I pulsanti:
- la clessidra attiva il check sulla sospensione: la singola WU viene sospesa se raggiunge/supera la % E se scade oltre la deadline
Se uno dei due parametri (% o deadline) è a zero le WU non vengono sospese.
- la bandierina consente di impostare la % di sospensione
- il calendarietto imposta la data di deadline
- il "fulmine" azzera la % e la deadline e ripristina le WU (v. dopo)
- le frecce verdi fanno l'UPDATE del progetto (come se fosse fatto dal manager) per cercare di prendere lavoro
- il boxino (ultima icona a dx) attiva/disattiva la richiesta di nuovo lavoro.
COLORI VARI
- Se la riga è gialla (come nel mio esempio) lo script sta tenendo sotto controllo le WU: io ho impostato per WCG una percentuale dell'80% per le WU che scadono dal 16/11 in poi: al momento dello screenshot ne aveva sospese 9
- se lo sfondo del boxino è verde il nostro BOINC chiede lavoro per quel progetto (solo WUProp) nel mio screenshot, altrimenti non chiede lavoro
FEATURES e TODO
Il prg dovrebbe accorgersi autonomamente dell'attach a nuovi progetti ed avvisarvi che vuole essere riavviato se attachate mentre lui è attivo (sorry non posso evitarlo).
Se invece attachate quando il prg non è acceso se ne accorge cmq ma non gli serve riavviarsi.
A parte controllare bene le validazioni degli input che per ora sono sommarie, ho già in mente di prevedere dei timing per richiedere periodicamente lavoro (ad esempio per POEM è necessario)
Avevo anche una mezza idea di scartare ("Annulla" se la sospensione è attiva), le WU che scadono prima della deadline... ma non so se la implemento, mi sembra un po' troppo scorretto nei confronti del progetto
COME USARLO
L'idea è che già da oggi (come da esempi) si può cominciare a sospendere per WCG e lui si occuperà di tutto purché lo facciate partire (magari in automatico) all'avvio.
Al momento giusto (il 16 di questo mese per WCG ) si clicca sul "Fulmine" e in automatico viene disattivata la sospensione e rimesse on-line le WU.
Questo è uno screenshot del mio manager (preso molto dopo i due di prima):
Come si vede anche se ce ne sono molte all'80% o poco dopo, all'implementazione della deadline sono state bloccate solo quelle che interessano per il challenge
Sempre il Fulmine e la Clessidra possono essere usati in combinazione per accumulare altre WU.
WCG ne manda solo 300 mi sembra, ma con delle WU in sospeso il manager non ne chiede altre anche se potrebbe.
Usando questi due pulsanti e l'Aggiorna (Frecce verdi, o cmq il Manager) si dovrebbe riuscire a prendere nuove WU anche prima dellinizio del contest senza perderne troppe.
UN'ULTIMA COSA
Non preoccupatevi di far danno alle WU, non ci sono implementati comandi di annullamento o detach
Ho finito, andate pure
p.s.
"Il codice è disordinato, non è a oggeti ed è sporchissimo!!!
LO SO
, abbiate pazienza che erano 20 anni che non codavo applicazioni desktop e cmq ho aperto python solo 15 giorni fa
p.p.s.s.
"Il codice non è pythonico!!!: quale parte di
ho aperto python solo 15 giorni fa non hai capito?
p.p.p.s.s.s.
Morse: sorry, non ho ancora avuto il tempo di tirar dentro le icone dei progetti, nei prox giorni spero.