1 #Fichier de conf du muxdaemon
3 #Ce démon permet de gérer plusieurs programmes clients (comme des parseurs de
4 #mail, de log), en les lançant au moment opportun. Il permet de plus de
5 #s'affranchir de certains problèmes de sécu, pour les mails notamment, car le
6 #programme client peut tourner en n'importe quel utilisateur, les mails lui
7 #étant pipés par ce démon (qui par conséquent doit tourner en mode privilégié
8 #Le lancement des différents clients se fait selon plusieurs critères :
9 # - charge de la machine
10 # - "réentrance" du client (peut-on en avoir plusieurs instances en cours d'éxécution ?)
11 # - priorité de 1 à 100, le démon essai de lancer le client de
12 # priorité 100 cent fois plus souvent que celui de priorité 1
13 # - temps minium entre deux éxécutions d'un client
16 #Le fonctionnement du démon est le suivant :
17 #toutes les active_poll secondes, le démon filtre la liste des clients de
18 #manière à ne conserver que les runnables. Si la charge est trop élevé pour
19 #tous les clients, le démon attand sleep_poll secondes avant de repasser en
24 #Il est ultra basique.Il essaie de respecter les priorités, mais si un programme
25 #X de haute priorité est lancé, qu'il dure plus longtemps qu'un client Y de
26 #faible priorité, et que la charge et le nombre total de clients autorisés sont
27 #tels que Y peut être lancé, alors il l'est. Si le processus se répète, Y
28 #peut-être lancé beaucoup plus souvent que X. Mais dès que X est runnable, il
29 #est lancé. Les schedule consiste donc à maximiser le nombre de clients en cours
30 #d'éxécution, tout en respectant les priorités.
33 #Pour les boites maildir :
34 #actuellement, les fichier sont lus dans le répertoire new/ pipés vers le
35 #client, puis déplacés dans cur/
38 #Cette commande doit renvoyer la charge
39 ldcmd = "cat /proc/loadavg | sed 's/^\([^ ]* \).*$/\1/'"
42 error_log = "/home/julien/toto"
44 #Active poll : Temps d'attente entre deux lancements en mode actif
47 #Time to wait when load is too high for any client in sec
50 #Nombre total de clients à ne pas dépasser simultanément
54 #Charge au dessus de laquelle ce programme ne doit plus être lancé
57 #Si mbox existe, des lots de nb_mails y sont lus et pipés dans command
58 #si mbox termine par un "/", c'est une boite maildir
59 #Implémenté pour les boites maildir uniquement
60 mbox=/var/mail/xorg-errors/
61 #nombre de mails à traité ((1 commande executée par mail)
63 #Command to launch (datas are piped in it if maildir mbox defined)
64 command="cat >/dev/null"
65 #Peut-on lancer plusieurs instances de ce prog simultanément ? yes or no
67 #Priority relative aux autres de 1 à 100
68 #Le client de priorité 100 est lancé 100 fois plus souvent que celui de
69 #priorité 1 (si possible)
71 #Lancer le prog en tant que :
74 #Temps minimum entre deux lancements de ce client en sec
81 command="/bin/sleep 1"
88 command="/bin/sleep 3"
97 command="/bin/sleep 2"