- cleanup
-
allow user to interpolate aRELATIVE_DIR
in crontabs (so they can reference files relative to the crontab) - allow variables in crontab
- job reporting
- figure out better logging
- synchronize updates to crontab
- actually read the sys
and user crontabs- perms
-
log to syslog-
syslog levels?
-
- Allow loglogloglogloglog feature flags (fs logs, job logs, time logs, etc)
- integ testing
- unit tests
-
Ensure tests don't log to syslog or whatever (maybe a test sink?) - handle signals
- and log getting closed or deleted (or segfault and anything else)
- daemon lock
- kill chronic anywhere integ test stops (e.g. TRAP)
-
crontab programno point - just use a text editor! - Fix all gcc warnings/errors and enable strict mode
- all ts should be UTC
- default log file
- daily, weekly, etc
-
detect shebang - format mail
- test
- IPC features
- print info for job
-
print info for crontab - pause job/crontab
- validate permissions e.g. child job exec
- schedule and run overdue jobs
- special crontab config support (toml or yaml?)
- Store all jobs sorted by timestamp, then perform binary search when we want to execute. Enable this feature at runtime when numjobs > N.
- os compat
- load test
- ensure time is synchronized
- Name processes
- Use dir mtime - store get_filenames result and only ls dir if it changes
- Make all APIs consistent (e.g. return new string or always accept the dest as input)
- Document all behaviors and usage patterns; complete manpage
- Perf improvements
- Update Makefile template w/manpage and install updates
- Add install target for systemd service
We make tradeoffs between runtime op/main loop work and startup work (loading the crontabs).