Dans Diswork, je vais rendre le démon paramétrable selon trois options :
* un mode débridé (diswork cherche toujours à travailler, consommation
de ressources sans compter)
* un mode hybride (diswork ne cherche à travailler que si les ressources
le permettent afin de ne pas déranger l'utilisation de l'ordinateur par
l'utilisateur)
* un mode éteint (diswork ne cherche pas à travailler, consommation
d'aucune ressources)
Pour le mode hybride, il faudrait surveiller l'activité de la machine
pour ne lancer des jobs que lorsque la machine n'est déjà chargée par
les autres programmes de l'utilisateur.
Il faudrait se baser sur une métrique comme la charge de la machine,
l'activité CPU ou ce genre de choses. Détecter l'activité clavier/souris
n'est pas une bonne solution : cela ne présume en rien de la charge de
la machine. Pour cela, j'ai trouvé deux bibliothèques. Elles font appel
à du code natif :
* http://wiki.github.com/jezhumble/javasysmon/ (licence BSD)
* http://www.hyperic.com/products/sigar et
http://github.com/hyperic/sigar (licence Apache)
Aucune des deux ne semble dispo sur nexus.
D'autres solutions ?
--
Brendan Le Ny <bleny(a)codelutin.com>
Code Lutin
Faut que je mette le projet en conformité au niveau de licence (fichier
LICENCE.txt, headers etc.). Maven fait le gros du boulot mais il faut
faire les choix de licences :
* même licence pour tout le projet ?
* (A|L)?GPL, une autre ?