cron-0.6.1: Cron datatypes and Attoparsec parser

Safe HaskellNone
LanguageHaskell2010

System.Cron.Types

Contents

Synopsis

Documentation

data CronSchedule #

Specification for a cron expression

Constructors

CronSchedule 

Fields

newtype Crontab #

Crontab file, omitting comments.

Constructors

Crontab 
Instances
Eq Crontab # 
Instance details

Defined in System.Cron.Types

Methods

(==) :: Crontab -> Crontab -> Bool #

(/=) :: Crontab -> Crontab -> Bool #

Show Crontab # 
Instance details

Defined in System.Cron.Types

Generic Crontab # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep Crontab :: * -> * #

Methods

from :: Crontab -> Rep Crontab x #

to :: Rep Crontab x -> Crontab #

type Rep Crontab # 
Instance details

Defined in System.Cron.Types

type Rep Crontab = D1 (MetaData "Crontab" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" True) (C1 (MetaCons "Crontab" PrefixI True) (S1 (MetaSel (Just "crontabEntries") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [CrontabEntry])))

data CrontabEntry #

Essentially a line in a crontab file. It is either a schedule with a command after it or setting an environment variable (e.g. FOO=BAR)

data MinuteSpec #

Minutes field of a cron expression

Instances
Eq MinuteSpec # 
Instance details

Defined in System.Cron.Types

Show MinuteSpec # 
Instance details

Defined in System.Cron.Types

Generic MinuteSpec # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep MinuteSpec :: * -> * #

type Rep MinuteSpec # 
Instance details

Defined in System.Cron.Types

type Rep MinuteSpec = D1 (MetaData "MinuteSpec" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" True) (C1 (MetaCons "Minutes" PrefixI True) (S1 (MetaSel (Just "minuteSpec") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CronField)))

newtype CronCommand #

Constructors

CronCommand 

Fields

Instances
Eq CronCommand # 
Instance details

Defined in System.Cron.Types

Ord CronCommand # 
Instance details

Defined in System.Cron.Types

Show CronCommand # 
Instance details

Defined in System.Cron.Types

Generic CronCommand # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep CronCommand :: * -> * #

type Rep CronCommand # 
Instance details

Defined in System.Cron.Types

type Rep CronCommand = D1 (MetaData "CronCommand" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" True) (C1 (MetaCons "CronCommand" PrefixI True) (S1 (MetaSel (Just "cronCommand") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data HourSpec #

Hours field of a cron expression

Instances
Eq HourSpec # 
Instance details

Defined in System.Cron.Types

Show HourSpec # 
Instance details

Defined in System.Cron.Types

Generic HourSpec # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep HourSpec :: * -> * #

Methods

from :: HourSpec -> Rep HourSpec x #

to :: Rep HourSpec x -> HourSpec #

type Rep HourSpec # 
Instance details

Defined in System.Cron.Types

type Rep HourSpec = D1 (MetaData "HourSpec" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" True) (C1 (MetaCons "Hours" PrefixI True) (S1 (MetaSel (Just "hourSpec") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CronField)))

data MonthSpec #

Month field of a cron expression

Instances
Eq MonthSpec # 
Instance details

Defined in System.Cron.Types

Show MonthSpec # 
Instance details

Defined in System.Cron.Types

Generic MonthSpec # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep MonthSpec :: * -> * #

type Rep MonthSpec # 
Instance details

Defined in System.Cron.Types

type Rep MonthSpec = D1 (MetaData "MonthSpec" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" True) (C1 (MetaCons "Months" PrefixI True) (S1 (MetaSel (Just "monthSpec") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CronField)))

data DayOfMonthSpec #

Day of month field of a cron expression

Instances
Eq DayOfMonthSpec # 
Instance details

Defined in System.Cron.Types

Show DayOfMonthSpec # 
Instance details

Defined in System.Cron.Types

Generic DayOfMonthSpec # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep DayOfMonthSpec :: * -> * #

type Rep DayOfMonthSpec # 
Instance details

Defined in System.Cron.Types

type Rep DayOfMonthSpec = D1 (MetaData "DayOfMonthSpec" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" True) (C1 (MetaCons "DaysOfMonth" PrefixI True) (S1 (MetaSel (Just "dayOfMonthSpec") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CronField)))

data DayOfWeekSpec #

Day of week field of a cron expression

Instances
Eq DayOfWeekSpec # 
Instance details

Defined in System.Cron.Types

Show DayOfWeekSpec # 
Instance details

Defined in System.Cron.Types

Generic DayOfWeekSpec # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep DayOfWeekSpec :: * -> * #

type Rep DayOfWeekSpec # 
Instance details

Defined in System.Cron.Types

type Rep DayOfWeekSpec = D1 (MetaData "DayOfWeekSpec" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" True) (C1 (MetaCons "DaysOfWeek" PrefixI True) (S1 (MetaSel (Just "dayOfWeekSpec") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 CronField)))

data BaseField #

Individual field of a cron expression.

Constructors

Star

Matches anything

SpecificField' SpecificField

Matches a specific value (e.g. 1)

RangeField' RangeField

Matches a range of values (e.g. 1-3)

Instances
Eq BaseField # 
Instance details

Defined in System.Cron.Types

Show BaseField # 
Instance details

Defined in System.Cron.Types

Generic BaseField # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep BaseField :: * -> * #

type Rep BaseField # 
Instance details

Defined in System.Cron.Types

type Rep BaseField = D1 (MetaData "BaseField" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" False) (C1 (MetaCons "Star" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "SpecificField'" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SpecificField)) :+: C1 (MetaCons "RangeField'" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 RangeField))))

data SpecificField #

Instances
Eq SpecificField # 
Instance details

Defined in System.Cron.Types

Show SpecificField # 
Instance details

Defined in System.Cron.Types

Generic SpecificField # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep SpecificField :: * -> * #

type Rep SpecificField # 
Instance details

Defined in System.Cron.Types

type Rep SpecificField = D1 (MetaData "SpecificField" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" True) (C1 (MetaCons "SpecificField" PrefixI True) (S1 (MetaSel (Just "specificField") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))

data RangeField #

Instances
Eq RangeField # 
Instance details

Defined in System.Cron.Types

Show RangeField # 
Instance details

Defined in System.Cron.Types

Generic RangeField # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep RangeField :: * -> * #

type Rep RangeField # 
Instance details

Defined in System.Cron.Types

type Rep RangeField = D1 (MetaData "RangeField" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" False) (C1 (MetaCons "RangeField" PrefixI True) (S1 (MetaSel (Just "rfBegin") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int) :*: S1 (MetaSel (Just "rfEnd") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))

data CronField #

Constructors

Field BaseField 
ListField (NonEmpty BaseField)

Matches a list of expressions.

StepField' StepField

Matches a stepped expression, e.g. (*/2).

Instances
Eq CronField # 
Instance details

Defined in System.Cron.Types

Show CronField # 
Instance details

Defined in System.Cron.Types

Generic CronField # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep CronField :: * -> * #

type Rep CronField # 
Instance details

Defined in System.Cron.Types

data StepField #

Instances
Eq StepField # 
Instance details

Defined in System.Cron.Types

Show StepField # 
Instance details

Defined in System.Cron.Types

Generic StepField # 
Instance details

Defined in System.Cron.Types

Associated Types

type Rep StepField :: * -> * #

type Rep StepField # 
Instance details

Defined in System.Cron.Types

type Rep StepField = D1 (MetaData "StepField" "System.Cron.Types" "cron-0.6.1-HGOoNc0Ul4Z74ncSJBwaXx" False) (C1 (MetaCons "StepField" PrefixI True) (S1 (MetaSel (Just "sfField") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 BaseField) :*: S1 (MetaSel (Just "sfStepping") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))

Commonly Used Schedules

yearly :: CronSchedule #

Shorthand for every January 1st at midnight. Parsed with @yearly, 0 0 1 1 *

monthly :: CronSchedule #

Shorthand for every 1st of the month at midnight. Parsed with @monthly, 0 0 1 * *

daily :: CronSchedule #

Shorthand for every day at midnight. Parsed with @daily, 0 0 * * *

weekly :: CronSchedule #

Shorthand for every sunday at midnight. Parsed with @weekly, 0 0 * * 0

hourly :: CronSchedule #

Shorthand for every hour on the hour. Parsed with @hourly, 0 * * * *

everyMinute :: CronSchedule #

Shorthand for an expression that always matches. Parsed with * * * * *

Rendering

Converting to human-readable string