auto-update: Efficiently run periodic, on-demand actions

[ control, library, mit ] [ Propose Tags ]

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.


[Skip to Readme]
Versions [faq] 0.1.0.0, 0.1.1.0, 0.1.1.1, 0.1.1.2, 0.1.1.3, 0.1.1.4, 0.1.1.5, 0.1.2, 0.1.2.1, 0.1.2.2, 0.1.3, 0.1.3.1, 0.1.4, 0.1.4.1
Dependencies base (>=4.6 && <5) [details]
License MIT
Author Michael Snoyman
Maintainer michael@snoyman.com
Revised Revision 1 made by AdamBergmark at Fri Jul 10 18:07:51 UTC 2015
Category Control
Home page https://github.com/yesodweb/wai
Uploaded by MichaelSnoyman at Wed Aug 6 07:12:22 UTC 2014
Distributions Arch:0.1.4.1, Debian:0.1.4, Fedora:0.1.4, FreeBSD:0.1.2.2, LTSHaskell:0.1.4.1, NixOS:0.1.4.1, Stackage:0.1.4.1, openSUSE:0.1.4.1
Downloads 68039 total (558 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Successful builds reported [all 1 reports]

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for auto-update-0.1.1.0

[back to package description]

See https://github.com/yesodweb/yesod-scaffold/pull/15

Todo:

  • Add ThreadId to prevent race condition.