Copyright © 2000-2010 Thibault Godouet | Fcron 3.0.6 | Web page : http://fcron.free.fr |
Fcron documentation | ||
---|---|---|
Prev | Chapter 1. Fcron: how and why? | Next |
Here are some things that should be done ... Note that some of these entries are just some ideas, which may be done in the long run.
If you see something you'd really like to see implemented here, feel free to send me a mail: it may make me move it to the top of my to-do list ;) .
If you plan to help me, please send a mail at <fcron@free.fr>
to prevent two
people from doing the same thing. You can send me some propositions as
well, or ask me to move something to the top of the heap ;) .
Test (and use ?) docbook2x-man -- xlstproc ? cf http://antoine.ginies.free.fr/docbook/ch09.html
find way to have the non translated pages of the French translation be updated automatically (changes, todo, etc -> copied from the English doc)
add support Vixie cron's @reboot, @yearly, ... (in fileconf.c:read_file(), add a strncmp() at the beginning of the while() to do s/@reboot/@volatile,first(1) big value/, s/@yearly/0 0 1 1 */, ...) (+ add sthg such as a period of 0 so as a @reboot line can never be run again ?)
add logging to a file (instead of syslog) with configuration in fcron.conf
code cleaning: create a .c/.h file for data structures (file/line lists, serial queue, lavg list, exe list), and work with them only through functions/macros. + secure equivalent to str[n]{cat|copy|...}
Note: may introduce bugs, so it will be done in fcron 3.1.x, and needs to be tested thoroughly..
Mem footprint reduction: use an/some union(s) in CL struct.
For environment settings, make a var substitution.
add a return code for jobs which would mean that they should not be run again (in case of an error, etc...).
Use directory notifications (FAM), and support a fcrontab and a cron.d as Vixie cron does (directly included in fcron itself, not thanks to a script as now).
PAM support (included in fcron, but needs more tests by people using PAM - not implemented in fcrondyn: is it needed in fcrondyn anyway?)
support for per user serial queue (especially for root)
use readline (if available) for fcrondyn.
add a mailsubject option, for custom mail subjects (for instance, in case of a job containing something secret -- password, etc -- in the command line).
add a system of modules: at startup, fcron loads some modules (.so files). Then, when fcron should run the job, it calls a function of the module, and let it manage the job (threads?). (do linux dlopen(), etc exist on other systems? - yes: thanks Harring ;) dlopen exists on all POSIX system - even windoze - abait it does not use the same insterface of function calls. But it can be easily implemented to port to another system.).
(related to the system of modules? create a kind of dependencies?) Add a way to run a job only if a command returns true. It would permit, for instance, to run some jobs on a laptop only if it is on AC power.
and depending on the return value of the command, cancel the execution, or wait x seconds before trying again, etc. In this case, needs change the way the jobs are queued?
add an option/module to prevent fcron from running a job if the system is running on battery (anacron does it?)
Add a way to stop a job (SIGSTOP) if the lavg gets to high, and restart it (SIGCONT) when the lavg has decreased.
Add a timeout for task completion: if a task takes more than a specified timeout, then start another script with the initial task PID as argument. That would allow a kill with different signals (-HUP, -TERM -STOP, .... or any other action like sending a mail to sysadmin to alert him/her that a task is taking too much time and that he has to have a look at it.) (add an option to specify the cmd, and combine w/ option until)