| CARVIEW |
cron-compat: Cron datatypes and Attoparsec parser
Cron data structure and Attoparsec parser. The idea is to embed it in larger
systems which want to roll their own scheduled tasks in a format that people
are used to.
System.Cron is where all the interesting datatypes live. You will also find
scheduleMatches, which you can use to compare a time against a
CronSchedule to see if an action needs to be performed. System.Cron.Parser
is where you will find the parsers cronSchedule, crontabEntry and
cronTab. To parse individual schedules up to full crontab files.
[Skip to Readme]
Downloads
- cron-compat-0.2.6.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.2.6 |
|---|---|
| Change log | changelog |
| Dependencies | attoparsec (>=0.10), base (>=4 && <5), mtl (>=2.1 && <=2.2), mtl-compat (>=0.2.1 && <=0.2.2), old-locale (>=1.0), text (>=0.11 && <2), time (>=1.4), transformers-compat (>=0.3.0.0) [details] |
| Tested with | ghc ==7.4.1, ghc ==7.6.3, ghc ==7.8.3, ghc ==7.10.1 |
| License | MIT |
| Copyright | Copyright: (c) 2012-2014 Michael Xavier |
| Author | Michael Xavier <michael@michaelxavier.net> |
| Maintainer | Michael Xavier <michael@michaelxavier.net> |
| Uploaded | by andrewthad at 2015-06-09T13:36:23Z |
| Category | Text, Parsing, System |
| Home page | https://github.com/michaelxavier/cron |
| Bug tracker | https://github.com/michaelxavier/cron/issues |
| Source repo | head: git clone https://github.com/michaelxavier/cron |
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Downloads | 1026 total (2 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Last success reported on 2015-06-11 [all 1 reports] |
Readme for cron-compat-0.2.6
[back to package description]cron
Cron data structure and Attoparsec parser for Haskell. The idea is to embed it in larger systems which want to roll their own scheduled tasks in a format that people are used to.
System.Cron is where all the interesting datatypes live. You will also find
scheduleMatches, which you can use to compare a time against a CronSchedule
to see if an action needs to be performed. System.Cron.Parser is where you will
find the parsers cronSchedule, crontabEntry and cronTab. To parse
individual schedules up to full crontab files.
To do anything, you'll need to install cabal-dev with cabal.
To build, run:
make
To run tests, run:
make test
If you have inotify-tools, run this to run tests continuously.
make autotest
To generate docs:
make docs
Scheduler
Cron offers a scheduling monad which can be found in System.Cron.Schedule. This monad transform allows you to declare a set of jobs (of the type IO ()) that will be executed at intervals defined by cron strings.
main :: IO ()
main = do
...
tids <- execSchedule $ do
addJob job1 "* * * * *"
addJob job2 "0 * * * *"
print tids
...
job1 :: IO ()
job1 = putStrLn "Job 1"
job2 :: IO ()
job2 = putStrLn "Job 2"
