Todo
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 &email; 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 ;) .
High priority
Option to compile and install from git sources without generating the doc
register in OS suspend/hibernate mechanism to stop fcron when going to sleep and start it again when resuming from sleep (see FAQ entry).
Low priority
Add unit tests using some unit-test framework (turn the tests/* code into unit tests)
For environment settings, make a var substitution.
add a mailsubject option, for custom mail subjects (for instance, in case of a job containing something secret -- password, etc -- in the command line).
Use directory notifications (FAM) / inotify, and support a fcrontab
and a cron.d as Vixie cron does (directly included in fcron itself, not thanks to a script as now).
However the parsing work is done by fcrontab, and should probably keep on being done by fcrontab for
security and stability reasons: have fcron call fcrontab to do that job?
could be worth checking fcron for memory leaks using specialized library (just in case...)
option to put a maximum limit on the execution time of a task + terminate it if not finished yet + send email to let the user know
setting to limit the number of jobs of a single user in the serialq/lavgq to X jobs + make sure root always has Y slots that it can use in those queues (i.e. number of slots used by root + number of free slots >= Y)
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 a return code for jobs which would mean that they
should not be run again (in case of an error, etc...).
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)
Ideas
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)