Copyright © 2000-2025 Thibault Godouet | Fcron 3.4.0 | Web page : http://fcron.free.fr |
Documentation de fcron | ||
---|---|---|
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 at free dot 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 the fix for empty mails on non linux systems (solaris seems ok, feedback on BSD?) (starting from fcron 2.9.7 -- no complain so far, so fixed?)
bug fix: what happens if the grand-child cannot be forked or cannot run the job in job.c? + better loop to read/write the pid of grand-child from/by the child (fcron freezes if the filesystem on which it operates has no space left? (cannot reproduce it on my linux system)
set TZ env. var. for jobs for which option tz is used.
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)