341 lines
6.7 KiB
HTML
341 lines
6.7 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Todo</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
REL="HOME"
|
|
TITLE="Documentation de fcron"
|
|
HREF="index.html"><LINK
|
|
REL="UP"
|
|
TITLE="Fcron: how and why?"
|
|
HREF="how-and-why.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Release notes: fcron 3.2.0"
|
|
HREF="relnotes.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Thanks"
|
|
HREF="thanks.html"></HEAD
|
|
><BODY
|
|
CLASS="SECT1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="40%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="LEGALNOTICE.html"
|
|
>Copyright</A
|
|
> © 2000-2014 <A
|
|
HREF="mailto:fcron@free.fr"
|
|
>Thibault Godouet</A
|
|
></TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
>Fcron 3.2.0 </TD
|
|
><TD
|
|
WIDTH="40%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Web page : <A
|
|
HREF="http://fcron.free.fr"
|
|
>http://fcron.free.fr</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Documentation de fcron</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="relnotes.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
>Chapter 1. Fcron: how and why?</TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="thanks.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="TODO"
|
|
>1.5. Todo</A
|
|
></H1
|
|
><P
|
|
>Here are some things that should be done ... Note that some of these
|
|
entries are just some ideas, which <EM
|
|
>may</EM
|
|
> be done in
|
|
the long run.</P
|
|
><P
|
|
>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 ;) .
|
|
</P
|
|
><P
|
|
>If you plan to help me, please send a mail at <CODE
|
|
CLASS="EMAIL"
|
|
><<A
|
|
HREF="mailto:fcron@free.fr"
|
|
>fcron@free.fr</A
|
|
>></CODE
|
|
> 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 ;) .</P
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="AEN765"
|
|
>1.5.1. High priority</A
|
|
></H2
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>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?)</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>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)</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>set TZ env. var. for jobs for which option tz is used.</P
|
|
></LI
|
|
></UL
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="AEN774"
|
|
>1.5.2. Low priority</A
|
|
></H2
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>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|...}</P
|
|
><P
|
|
>Note: may introduce bugs, so it will be done in fcron 3.1.x, and needs to be tested thoroughly..</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>Mem footprint reduction: use an/some union(s) in CL struct.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>For environment settings, make a var substitution.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>add a return code for jobs which would mean that they
|
|
should not be run again (in case of an error, etc...).</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>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).</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>PAM support (included in fcron, but needs more tests by
|
|
people using PAM - not implemented in fcrondyn: is it needed
|
|
in fcrondyn anyway?)</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>support for per user serial queue (especially for root)</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>use readline (if available) for fcrondyn.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>add a mailsubject option, for custom mail subjects (for instance, in case of a job containing something secret -- password, etc -- in the command line).</P
|
|
></LI
|
|
></UL
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="AEN796"
|
|
>1.5.3. Ideas</A
|
|
></H2
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>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.).</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>(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.</P
|
|
><P
|
|
>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?</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>add an option/module to prevent fcron from running a job if the
|
|
system is running on battery (anacron does it?)</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>Add a way to stop a job (SIGSTOP) if the lavg gets to high,
|
|
and restart it (SIGCONT) when the lavg has decreased.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>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)
|
|
</P
|
|
></LI
|
|
></UL
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="relnotes.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="thanks.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Release notes: <SPAN
|
|
CLASS="APPLICATION"
|
|
>fcron</SPAN
|
|
> 3.2.0</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="how-and-why.html"
|
|
ACCESSKEY="U"
|
|
>Up</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Thanks</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |