Skip to content

Latest commit

 

History

History
49 lines (46 loc) · 1.9 KB

TODO.md

File metadata and controls

49 lines (46 loc) · 1.9 KB

TODOs

  • cleanup
  • allow user to interpolate a RELATIVE_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 program no 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).