There is an ongoing outage on the primary CPAN mirror. It is possible to work around the issue by using MetaCPAN as a mirror.

Planned functionality

Documentation

Documentation is likely incomplete, but has also gotten a bit more complex as configuration options become supported (sorry).

Script timestamps option

(Available with 0.1.3) schedule-easing.pl --timestamps should work. It is currently available but not fully tested. See notes in "Timestamp Discovery" in Schedule::Easing.

Relaxing, reducing, decreasing messages over time is experimental

(Available with 0.1.4) Behavior when begin>final is partially tested. Documentation may be incomplete.

Power and Step inverses are experimental

The functions have not been tested with the timestamps calculations.

Timestamp support in Block

The block type is currently universal. It may be useful to have a scheduled blocking event that starts at tsA, or that concludes at tsB, or both.

Pass type

Support type=pass that always includes a matching message. Will help with faster bailout and to avoid unexpected matching against later easing configurations.

To Review

Schedule::Easing::Stream, alarm(), and clock

See the comment about the single-use alarm() and how the clock setting overlaps with the timing of batch processing.

Item weighting

All line/messages have the same weight. Message weighting may be a property of content on the line itself, however. Proposed to collect weights with a regexp, and use a configured total weight for scheduling. This would be separate than a function, though it may be implemented as a score modification function per line.

Value gaps

Both MD5 and Numeric can suffer from notable value gaps. Currently that requires separate configurations.

Sets and rolling windows

This library isn't designed for ongoing rotation though sets of names, such as oncall rotations or words, such as the names of the days of the week. Rolling MD5/numeric windows are also not supported at this time (the first 10%, the second 10%, the third 10%, ...). Preselection via modular arithmetic is a much simpler solution, though it may be beneficial in the long term to support such behavior within a unified configuration. Additional examples are needed before considering this as an easing option.

Rolling expanding windows

Windows of the form 1, 2, 3, ..., followed by "1 and 2", then "2 and 3", ..., then "1 and 2 and 3". These can likely be achieved with MD5 using multiple digest captures. Additional examples are needed before considering this as an easing option.