auto-update

Efficiently run periodic, on-demand actions

https://github.com/yesodweb/wai

Version on this page:0.1.6
LTS Haskell 22.43:0.1.6
Stackage Nightly 2024-11-30:0.2.4
Latest on Hackage:0.2.4

See all snapshots auto-update appears in

MIT licensed by Michael Snoyman
Maintained by [email protected]
This version can be pinned in stack with:auto-update-0.1.6@sha256:10adca282e131a2fa01fb7a411b02811685c1cea02e9813df2d7fb468b5ef638,1373

Module documentation for 0.1.6

auto-update

A common problem is the desire to have an action run at a scheduled interval, but only if it is needed. For example, instead of having every web request result in a new getCurrentTime call, we’d like to have a single worker thread run every second, updating an IORef. However, if the request frequency is less than once per second, this is a pessimization, and worse, kills idle GC.

This library allows you to define actions which will either be performed by a dedicated thread or, in times of low volume, will be executed by the calling thread.

For original use case, see yesod-scaffold issue #15.

Changes

ChangeLog for auto-update

0.1.6

  • Add control of activation on leading vs. trailing edges for Control.Debounce #756

0.1.5

  • Using the Strict and StrictData language extensions for GHC >8. #752

0.1.4.1

  • #693: Improve documentation for reaperAction function.
  • #732: Fixed memory leak in reaperAdd function.

0.1.4

  • Provide updateActionModify API in AutoUpdate #547

0.1.3.1

  • Doc improvements

0.1.3

  • Adding a new AIP - reaperKill

0.1.2

  • Added Control.Debounce