GrassHopper

GrassHopper is a tiny abstraction over GenServer, that helps building dynamically scheduled recursive processes. It allows to efficiently jump along timestamps and perform user defined actions. Think of a librarian going through the list of borrowed books and calling the borrowers as their leases reach the due date.

User of GrassHopper needs to implement two callbacks:

Installation

If available in Hex, the package can be installed by adding grass_hopper to your list of dependencies in mix.exs:

def deps do
  [
    {:grass_hopper, "~> 0.1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/grass_hopper.