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