]> granicus.if.org Git - fcron/blob - doc/en/todo.sgml
Improve support for hardware suspend (to memory or to disk)
[fcron] / doc / en / todo.sgml
1 <!-- 
2 Fcron documentation
3 Copyright 2000-2014 Thibault Godouet <fcron@free.fr>
4 Permission is granted to copy, distribute and/or modify this
5 document under the terms of the GNU Free Documentation License,
6 Version 1.1 or any later version published by the Free Software
7 Foundation.
8 A copy of the license is included in gfdl.sgml.
9 -->
10
11
12    <sect1 id="todo">
13       <title>Todo</title>
14       <para>Here are some things that should be done ... Note that some of these
15          entries are just some ideas, which <emphasis>may</emphasis> be done in
16          the long run.</para> 
17       <para>If you see something you'd really like to see implemented here, feel
18          free to send me a mail: it may make me move it to the top of my to-do list ;) .
19       </para>
20       <para>If you plan to help me, please send a mail at &email; to prevent two
21          people from doing the same thing. You can send me some propositions as
22          well, or ask me to move something to the top of the heap ;) .</para>
23       <sect2>
24          <title>High priority</title>
25          <itemizedlist>
26             <listitem>
27                <para>Option to compile and install from git sources without generating the doc</para>
28             </listitem>
29             <listitem>
30                <para>add systemd suspend hooks for fcron (contribution welcome)</para>
31             </listitem>
32             <listitem>
33                <para>add a 'runatresume' option, to run when the computer resumes? (similar to runatreboot)</para>
34             </listitem>
35             <listitem>
36                <para>use ask_user() in boot-install</para>
37             </listitem>
38             <listitem>
39                <para></para>
40             </listitem>
41          </itemizedlist>
42       </sect2>
43       <sect2>
44          <title>Low priority</title>
45          <itemizedlist>
46             <listitem>
47                <para>Add unit tests using some unit-test framework (turn the tests/* code into unit tests)</para>
48             </listitem>
49            <listitem>
50                <para>For environment settings, make a var substitution.</para>
51             </listitem>
52             <listitem>
53                <para>add a mailsubject option, for custom mail subjects (for instance, in case of a job containing something secret -- password, etc -- in the command line).</para>
54             </listitem>
55             <listitem>
56                <para>Use directory notifications (FAM) / inotify, and support a fcrontab
57                and a cron.d as Vixie cron does (directly included in fcron itself, not thanks to a script as now).
58                However the parsing work is done by fcrontab, and should probably keep on being done by fcrontab for
59                security and stability reasons: have fcron call fcrontab to do that job?</para>
60             </listitem>
61             <listitem>
62                <para>could be worth checking fcron for memory leaks using specialized library (just in case...)</para>
63             </listitem>
64             <listitem>
65                <para>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</para>
66             </listitem>
67             <listitem>
68                <para>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)</para>
69             </listitem>
70             <listitem>
71                <para>Test (and use ?) docbook2x-man -- xlstproc ? cf http://antoine.ginies.free.fr/docbook/ch09.html</para>
72             </listitem>
73             <listitem>
74                <para>find way to have the non translated pages of the French translation be updated automatically (changes, todo, etc -> copied from the English doc)</para>
75             </listitem>
76             <listitem>
77                <para>add a return code for jobs which would mean that they
78                   should not be run again (in case of an error, etc...).</para>
79             </listitem>
80             <listitem>
81                <para>PAM support (included in fcron, but needs more tests by
82                   people using PAM - not implemented in fcrondyn: is it needed
83                   in fcrondyn anyway?)</para>
84             </listitem>
85             <listitem>
86                <para>support for per user serial queue (especially for root)</para>
87             </listitem>
88          </itemizedlist>
89       </sect2>
90       <sect2>
91          <title>Ideas</title>
92          <itemizedlist>
93             <listitem>
94                <para>add a system of modules: at startup, fcron loads some
95                   modules (.so files). Then, when fcron should run the job, it
96                   calls a function of the module, and let it manage the job
97                   (threads?). (do linux dlopen(), etc exist on other systems?
98                   - yes: thanks Harring ;) dlopen exists on all POSIX system -
99                   even windoze - abait it does not use the same insterface of
100                   function calls. But it can be easily implemented to port to
101                   another system.).</para>
102             </listitem>
103             <listitem>
104                <para>(related to the system of modules? create a kind of
105                   dependencies?)  Add a way to run a job only if a command
106                   returns true. It would permit, for instance, to run some jobs
107                   on a laptop only if it is on AC power.</para>
108                <para>and depending on the return value of the command, cancel
109                   the execution, or wait x seconds before trying again, etc. 
110                In this case, needs change the way the jobs are queued?</para>
111             </listitem>
112             <listitem>
113                <para>add an option/module to prevent fcron from running a job if the
114                   system is running on battery (anacron does it?)</para>
115             </listitem>
116             <listitem>
117                <para>Add a way to stop a job (SIGSTOP) if the lavg gets to high,
118                   and restart it (SIGCONT) when the lavg has decreased.</para>
119             </listitem>
120             <listitem>
121                <para>Add a timeout for task completion: if a task takes more
122                   than a specified timeout, then start another script with the
123                   initial task PID as argument.  That would allow a kill with
124                   different signals (-HUP, -TERM -STOP, .... or any other action
125                   like sending a mail to sysadmin to alert him/her that a task
126                   is taking too much time and that he has to have a look at it.)
127                   (add an option to specify the cmd, and combine w/ option until)
128                </para>
129             </listitem>
130          </itemizedlist>
131       </sect2>
132    </sect1>
133
134
135 <!-- Keep this comment at the end of the file
136 Local variables:
137 mode: sgml
138 sgml-parent-document:("fcron-doc.sgml" "book" "chapter" "sect1" "")
139 End:
140 -->