| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Arbiter.Core.CronSchedule
Contents
Description
Types for the cron_schedules table.
The table stores both the code-defined defaults and user overrides separately.
On worker init, only the default_* columns are upserted -- user overrides
(override_*, enabled) are preserved.
Synopsis
- data CronScheduleRow = CronScheduleRow {}
- data CronScheduleUpdate = CronScheduleUpdate {
- overrideExpression :: Maybe (Maybe Text)
- overrideOverlap :: Maybe (Maybe Text)
- overrideTimezone :: Maybe (Maybe Text)
- enabled :: Maybe Bool
- effectiveExpression :: CronScheduleRow -> Text
- effectiveOverlap :: CronScheduleRow -> Text
- effectiveTimezone :: CronScheduleRow -> Maybe Text
- cronSchedulesTable :: Text -> Text
- createCronSchedulesTableSQL :: Text -> Text
- addTimezoneColumnSQL :: Text -> Text
Types
data CronScheduleRow Source #
A row from the cron_schedules table.
Constructors
| CronScheduleRow | |
Fields
| |
Instances
data CronScheduleUpdate Source #
Patch update for a cron schedule.
Each field uses Maybe (Maybe a):
Nothing= don't changeJust Nothing= reset to default (set column to NULL)Just (Just x)= set tox
Constructors
| CronScheduleUpdate | |
Fields
| |
Instances
| FromJSON CronScheduleUpdate Source # | |||||
Defined in Arbiter.Core.CronSchedule Methods parseJSON :: Value -> Parser CronScheduleUpdate parseJSONList :: Value -> Parser [CronScheduleUpdate] | |||||
| ToJSON CronScheduleUpdate Source # | |||||
Defined in Arbiter.Core.CronSchedule Methods toJSON :: CronScheduleUpdate -> Value toEncoding :: CronScheduleUpdate -> Encoding toJSONList :: [CronScheduleUpdate] -> Value toEncodingList :: [CronScheduleUpdate] -> Encoding omitField :: CronScheduleUpdate -> Bool | |||||
| Generic CronScheduleUpdate Source # | |||||
Defined in Arbiter.Core.CronSchedule Associated Types
Methods from :: CronScheduleUpdate -> Rep CronScheduleUpdate x # to :: Rep CronScheduleUpdate x -> CronScheduleUpdate # | |||||
| Show CronScheduleUpdate Source # | |||||
Defined in Arbiter.Core.CronSchedule Methods showsPrec :: Int -> CronScheduleUpdate -> ShowS # show :: CronScheduleUpdate -> String # showList :: [CronScheduleUpdate] -> ShowS # | |||||
| Eq CronScheduleUpdate Source # | |||||
Defined in Arbiter.Core.CronSchedule Methods (==) :: CronScheduleUpdate -> CronScheduleUpdate -> Bool # (/=) :: CronScheduleUpdate -> CronScheduleUpdate -> Bool # | |||||
| type Rep CronScheduleUpdate Source # | |||||
Defined in Arbiter.Core.CronSchedule type Rep CronScheduleUpdate = D1 ('MetaData "CronScheduleUpdate" "Arbiter.Core.CronSchedule" "arbiter-core-0.1.0.0-inplace" 'False) (C1 ('MetaCons "CronScheduleUpdate" 'PrefixI 'True) ((S1 ('MetaSel ('Just "overrideExpression") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Maybe Text))) :*: S1 ('MetaSel ('Just "overrideOverlap") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Maybe Text)))) :*: (S1 ('MetaSel ('Just "overrideTimezone") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (Maybe Text))) :*: S1 ('MetaSel ('Just "enabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool))))) | |||||
Effective values
effectiveExpression :: CronScheduleRow -> Text Source #
Effective expression: override if set, else default.
effectiveOverlap :: CronScheduleRow -> Text Source #
Effective overlap policy: override if set, else default.
effectiveTimezone :: CronScheduleRow -> Maybe Text Source #
Effective timezone: override if set, else default. Nothing means UTC.
DDL
cronSchedulesTable :: Text -> Text Source #
Qualified table name for the cron_schedules table.
createCronSchedulesTableSQL :: Text -> Text Source #
DDL for the cron_schedules table.
addTimezoneColumnSQL :: Text -> Text Source #
Idempotent migration adding the timezone columns to an existing table.