• Don Harper's avatar
    Add snooze package · 90a1ba0b
    Don Harper authored
    `snooze` is a new tool for waiting until a particular time and then
    running a command.  Together with a service supervision system such as
    runit, this can be used to replace cron(8).
    
    `snooze` has been tested on Linux 4.2.
    It will likely work on other Unix-like systems with C99.
    
    Over cron:
    - mnemonic syntax
    - no overlapping job runs possible
    - filtering by ISO week and day of year
    - due to supervision, no centralized daemon required
    - due to supervision, can easily disable jobs or force their
      execution instantly
    - due to supervision, have custom logs
    - due to no centralized daemon, no fuzzing with multiple users/permissions
    - very robust with respect to external time changes
    - can use a file timestamp to ensure minimum waiting time between two
      runs, even across reboots
    - randomized delays (some cron have that)
    - variable slack (no need for anacron)
    - ad-hoc usage possible, just run the program from command line
    
    Over runwhen:
    - less confusing usage (I hope)
    - filtering by ISO week and day of year
    - zero dependencies
    
    Over uschedule:
    - due to supervision, no centralized daemon required
    - filtering by ISO week and day of year
    90a1ba0b
snooze.rb 519 Bytes