Safe Haskell | None |
---|---|
Language | Haskell2010 |
Temporal.Client.Schedule
Description
A Schedule contains instructions for starting a Workflow Execution at specific times. Schedules provide a more flexible and user-friendly approach than Temporal Cron Jobs.
How to enable Schedules
A Schedule has an identity and is independent of a Workflow Execution. This differs from a Temporal Cron Job, which relies on a cron schedule as a property of the Workflow Execution.
Action
The Action of a Schedule is where the Workflow Execution properties are established, such as Workflow Type, Task Queue, parameters, and timeouts.
Workflow Executions started by a Schedule have the following additional properties:
- The Action's timestamp is appended to the Workflow Id.
- The TemporalScheduledStartTime Search Attribute is added to the Workflow Execution. The value is the Action's timestamp.
- The TemporalScheduledById Search Attribute is added to the Workflow Execution. The value is the Schedule Id.
- The Schedule Spec describes when the Action is taken. There are two kinds of Schedule Spec:
- A simple interval, like "every 30 minutes" (aligned to start at the Unix epoch, and optionally including a phase offset).
- A calendar-based expression, similar to the "cron expressions" supported by lots of software, including the older Temporal Cron feature.
The following calendar JSON fields are available:
- year
- month
- dayOfMonth
- dayOfWeek
- hour
- minute
- second
- comment
Each field can contain a comma-separated list of ranges (or the * wildcard), and each range can include a slash followed by a skip value. The hour, minute, and second fields default to 0 while the others default to *, so you can describe many useful specs with only a few fields.
For month, names of months may be used instead of integers (case-insensitive, abbreviations permitted). For dayOfWeek, day-of-week names may be used.
The comment field is optional and can be used to include a free-form description of the intent of the calendar spec, useful for complicated specs.
No matter which form you supply, calendar and interval specs are converted to canonical representations. What you see when you "describe" or "list" a Schedule might not look exactly like what you entered, but it has the same meaning.
Other Spec features
Multiple intervals/calendar expressions
A Spec can have combinations of multiple intervals and/or calendar expressions to define a specific Schedule.
Time bounds
Provide an absolute start or end time (or both) with a Spec to ensure that no actions are taken before the start time or after the end time.
Exclusions
A Spec can contain exclusions in the form of zero or more calendar expressions. This can be used to express scheduling like "each Monday at noon except for holidays. You'll have to provide your own set of exclusions and include it in each schedule; there are no pre-defined sets. (This feature isn't currently exposed in tctl or the Temporal Web UI.)
Jitter
If given, a random offset between zero and the maximum jitter is added to each Action time (but bounded by the time until the next scheduled Action).
Time zones
By default, calendar-based expressions are interpreted in UTC. Temporal recommends using UTC to avoid various surprising properties of time zones. If you don't want to use UTC, you can provide the name of a time zone. The time zone definition is loaded on the Temporal Server Worker Service from either disk or the fallback embedded in the binary.
For more operational control, embed the contents of the time zone database file in the Schedule Spec itself. (Note: this isn't currently exposed in tctl or the web UI.)
Pause
A Schedule can be Paused. When a Schedule is Paused, the Spec has no effect. However, you can still force manual actions by using the tctl schedule trigger command.
To assist communication among developers and operators, a “notes” field can be updated on pause or resume to store an explanation for the current state.
Backfill
A Schedule can be Backfilled. When a Schedule is Backfilled, all the Actions that would have been taken over a specified time period are taken now (in parallel if the AllowAll Overlap Policy is used; sequentially if BufferAll is used). You might use this to fill in runs from a time period when the Schedule was paused due to an external condition that's now resolved, or a period before the Schedule was created.
Limit number of Actions
A Schedule can be limited to a certain number of scheduled Actions (that is, not trigger immediately). After that it will act as if it were paused.
Policies
A Schedule supports a set of Policies that enable customizing behavior.
Overlap Policy
The Overlap Policy controls what happens when it is time to start a Workflow Execution but a previously started Workflow Execution is still running. The following options are available:
Skip: Default. Nothing happens; the Workflow Execution is not started. BufferOne: Starts the Workflow Execution as soon as the current one completes. The buffer is limited to one. If another Workflow Execution is supposed to start, but one is already in the buffer, only the one in the buffer eventually starts. BufferAll: Allows an unlimited number of Workflows to buffer. They are started sequentially. CancelOther: Cancels the running Workflow Execution, and then starts the new one after the old one completes cancellation. TerminateOther: Terminates the running Workflow Execution and starts the new one immediately. AllowAll Starts any number of concurrent Workflow Executions. With this policy (and only this policy), more than one Workflow Execution, started by the Schedule, can run simultaneously. Catchup Window The Temporal Cluster might be down or unavailable at the time when a Schedule should take an Action. When it comes back up, the Catchup Window controls which missed Actions should be taken at that point. The default is one minute, which means that the Schedule attempts to take any Actions that wouldn't be more than one minute late. An outage that lasts longer than the Catchup Window could lead to missed Actions. (But you can always Backfill.)
Pause-on-failure
If this policy is set, a Workflow Execution started by a Schedule that ends with a failure or timeout (but not Cancellation or Termination) causes the Schedule to automatically pause.
Note that with the AllowAll Overlap Policy, this pause might not apply to the next Workflow Execution, because the next Workflow Execution might have started before the failed one finished. It applies only to Workflow Executions that were scheduled to start after the failed one finished.
Last completion result
A Workflow started by a Schedule can obtain the completion result from the most recent successful run. (How you do this depends on the SDK you're using.)
For overlap policies that don't allow overlap, “the most recent successful run” is straightforward to define. For the AllowAll policy, it refers to the run that completed most recently, at the time that the run in question is started. Consider the following overlapping runs:
time --------------------------------------------> A |----------------------| B |-------| C |---------------| D |--------------T
If D asks for the last completion result at time T, it gets the result of A. Not B, even though B started more recently, because A completed later. And not C, even though C completed after A, because the result for D is captured when D is started, not when it's queried.
Failures and timeouts do not affect the last completion result.
Last failure A Workflow started by a Schedule can obtain the details of the failure of the most recent run that ended at the time when the Workflow in question was started. Unlike last completion result, a successful run does reset the last failure.
Limitations Internally, a Schedule is implemented as a Workflow. If you're using Advanced Visibility (Elasticsearch), these Workflow Executions are hidden from normal views. If you're using Standard Visibility, they are visible, though there's no need to interact with them directly.
Synopsis
- mkScheduleClient :: Client -> Namespace -> ScheduleClient
- data ScheduleClient
- data CreateScheduleRequest = CreateScheduleRequest {
- scheduleId :: !ScheduleId
- schedule :: !Schedule
- initialPatch :: !(Maybe SchedulePatch)
- memo :: !(Map Text Payload)
- requestId :: !Text
- searchAttributes :: !(Map SearchAttributeKey SearchAttributeType)
- createSchedule :: MonadIO m => ScheduleClient -> CreateScheduleRequest -> m ByteString
- deleteSchedule :: MonadIO m => ScheduleClient -> ScheduleId -> m ()
- listSchedules :: forall (m :: Type -> Type). MonadIO m => ScheduleClient -> ListSchedulesOptions -> ConduitT () (Vector ScheduleListEntry) m ()
- data ScheduleListInfo = ScheduleListInfo {
- spec :: !(Maybe ScheduleSpec)
- workflowType :: !WorkflowType
- notes :: !Text
- paused :: !Bool
- recentActions :: ![ScheduleActionResult]
- futureActionTimes :: ![SystemTime]
- data ScheduleListEntry = ScheduleListEntry {
- scheduleId :: !ScheduleId
- memo :: !(Map Text Payload)
- searchAttributes :: !(Map SearchAttributeKey SearchAttributeType)
- info :: !(Maybe ScheduleListInfo)
- data ScheduleActionResult = ScheduleActionResult {}
- data ListSchedulesOptions = ListSchedulesOptions {}
- data ListScheduleMatchingTimesOptions = ListScheduleMatchingTimesOptions {
- scheduleId :: !ScheduleId
- startTime :: !SystemTime
- endTime :: !SystemTime
- listScheduleMatchingTimes :: MonadIO m => ScheduleClient -> ListScheduleMatchingTimesOptions -> m (Vector SystemTime)
- describeSchedule :: MonadIO m => ScheduleClient -> ScheduleId -> m DescribeScheduleResponse
- data DescribeScheduleResponse = DescribeScheduleResponse {
- schedule :: !Schedule
- info :: !ScheduleInfo
- memo :: !(Map Text Payload)
- searchAttributes :: !(Map SearchAttributeKey SearchAttributeType)
- conflictToken :: !ByteString
- patchSchedule :: MonadIO m => ScheduleClient -> ScheduleId -> SchedulePatch -> m ()
- data SchedulePatch = SchedulePatch {
- triggerImmediately :: !(Maybe TriggerImmediatelyRequest)
- backfillRequest :: ![BackfillRequest]
- pauseState :: !(Maybe PauseState)
- requestId :: !Text
- updateSchedule :: MonadIO m => ScheduleClient -> ScheduleId -> UpdateScheduleRequest -> m ()
- data UpdateScheduleRequest = UpdateScheduleRequest {
- schedule :: !Schedule
- conflictToken :: !(Maybe ByteString)
- requestId :: !Text
- newtype ScheduleId = ScheduleId {}
- scheduleSpec :: ScheduleSpec
- data ScheduleSpec = ScheduleSpec {
- structuredCalendar :: [StructuredCalendarSpec]
- cronString :: [Text]
- calendar :: [CalendarSpec]
- interval :: [IntervalSpec]
- excludeCalendar :: [CalendarSpec]
- excludeStructuredCalendar :: [StructuredCalendarSpec]
- startTime :: Maybe SystemTime
- endTime :: Maybe SystemTime
- jitter :: Maybe Duration
- timezoneName :: Text
- timezoneData :: Maybe ByteString
- data Schedule = Schedule {
- spec :: !ScheduleSpec
- action :: !ScheduleAction
- policies :: !SchedulePolicies
- state :: !ScheduleState
- data TriggerImmediatelyRequest = TriggerImmediatelyRequest {}
- data BackfillRequest = BackfillRequest {}
- data StructuredCalendarSpec = StructuredCalendarSpec {}
- structuredCalendarSpec :: StructuredCalendarSpec
- calendarSpec :: CalendarSpec
- data CalendarSpec = CalendarSpec {}
- data IntervalSpec = IntervalSpec {}
- data WorkflowExecution = WorkflowExecution {
- workflowId :: !WorkflowId
- runId :: !RunId
- data ScheduleInfo = ScheduleInfo {}
- mkScheduleAction :: forall wf (m :: Type -> Type). (MonadIO m, WorkflowRef wf) => wf -> WorkflowId -> StartWorkflowOptions -> WorkflowArgs wf :->: m ScheduleAction
- data ScheduleAction
- data SchedulePolicies = SchedulePolicies {
- overlapPolicy :: !OverlapPolicy
- catchupWindow :: !(Maybe Duration)
- pauseOnFailure :: !Bool
- data ScheduleState = ScheduleState {
- notes :: !Text
- paused :: !Bool
- limitedActions :: !Bool
- remainingActions :: !Int64
- data OverlapPolicy
- data Range = Range {}
- module Temporal.Duration
Documentation
mkScheduleClient :: Client -> Namespace -> ScheduleClient Source #
data ScheduleClient Source #
Instances
HasField "identity" ScheduleClient Text Source # | |
Defined in Temporal.Client.Schedule Methods getField :: ScheduleClient -> Text # |
data CreateScheduleRequest Source #
Constructors
CreateScheduleRequest | |
Fields
|
Instances
createSchedule :: MonadIO m => ScheduleClient -> CreateScheduleRequest -> m ByteString Source #
Creates a new schedule.
deleteSchedule :: MonadIO m => ScheduleClient -> ScheduleId -> m () Source #
Deletes a schedule, removing it from the system.
listSchedules :: forall (m :: Type -> Type). MonadIO m => ScheduleClient -> ListSchedulesOptions -> ConduitT () (Vector ScheduleListEntry) m () Source #
List all schedules in a namespace.
data ScheduleListInfo Source #
Constructors
ScheduleListInfo | |
Fields
|
Instances
Generic ScheduleListInfo Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: ScheduleListInfo -> Rep ScheduleListInfo x # to :: Rep ScheduleListInfo x -> ScheduleListInfo # | |||||
Show ScheduleListInfo Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> ScheduleListInfo -> ShowS # show :: ScheduleListInfo -> String # showList :: [ScheduleListInfo] -> ShowS # | |||||
Eq ScheduleListInfo Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: ScheduleListInfo -> ScheduleListInfo -> Bool # (/=) :: ScheduleListInfo -> ScheduleListInfo -> Bool # | |||||
Ord ScheduleListInfo Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: ScheduleListInfo -> ScheduleListInfo -> Ordering # (<) :: ScheduleListInfo -> ScheduleListInfo -> Bool # (<=) :: ScheduleListInfo -> ScheduleListInfo -> Bool # (>) :: ScheduleListInfo -> ScheduleListInfo -> Bool # (>=) :: ScheduleListInfo -> ScheduleListInfo -> Bool # max :: ScheduleListInfo -> ScheduleListInfo -> ScheduleListInfo # min :: ScheduleListInfo -> ScheduleListInfo -> ScheduleListInfo # | |||||
type Rep ScheduleListInfo Source # | |||||
Defined in Temporal.Client.Schedule type Rep ScheduleListInfo = D1 ('MetaData "ScheduleListInfo" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ScheduleListInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "spec") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe ScheduleSpec)) :*: (S1 ('MetaSel ('Just "workflowType") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 WorkflowType) :*: S1 ('MetaSel ('Just "notes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))) :*: (S1 ('MetaSel ('Just "paused") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "recentActions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [ScheduleActionResult]) :*: S1 ('MetaSel ('Just "futureActionTimes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [SystemTime]))))) |
data ScheduleListEntry Source #
Constructors
ScheduleListEntry | |
Fields
|
Instances
Generic ScheduleListEntry Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: ScheduleListEntry -> Rep ScheduleListEntry x # to :: Rep ScheduleListEntry x -> ScheduleListEntry # | |||||
Show ScheduleListEntry Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> ScheduleListEntry -> ShowS # show :: ScheduleListEntry -> String # showList :: [ScheduleListEntry] -> ShowS # | |||||
Eq ScheduleListEntry Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: ScheduleListEntry -> ScheduleListEntry -> Bool # (/=) :: ScheduleListEntry -> ScheduleListEntry -> Bool # | |||||
Ord ScheduleListEntry Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: ScheduleListEntry -> ScheduleListEntry -> Ordering # (<) :: ScheduleListEntry -> ScheduleListEntry -> Bool # (<=) :: ScheduleListEntry -> ScheduleListEntry -> Bool # (>) :: ScheduleListEntry -> ScheduleListEntry -> Bool # (>=) :: ScheduleListEntry -> ScheduleListEntry -> Bool # max :: ScheduleListEntry -> ScheduleListEntry -> ScheduleListEntry # min :: ScheduleListEntry -> ScheduleListEntry -> ScheduleListEntry # | |||||
type Rep ScheduleListEntry Source # | |||||
Defined in Temporal.Client.Schedule type Rep ScheduleListEntry = D1 ('MetaData "ScheduleListEntry" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ScheduleListEntry" 'PrefixI 'True) ((S1 ('MetaSel ('Just "scheduleId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScheduleId) :*: S1 ('MetaSel ('Just "memo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map Text Payload))) :*: (S1 ('MetaSel ('Just "searchAttributes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map SearchAttributeKey SearchAttributeType)) :*: S1 ('MetaSel ('Just "info") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe ScheduleListInfo))))) |
data ScheduleActionResult Source #
Constructors
ScheduleActionResult | |
Fields |
Instances
Generic ScheduleActionResult Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: ScheduleActionResult -> Rep ScheduleActionResult x # to :: Rep ScheduleActionResult x -> ScheduleActionResult # | |||||
Show ScheduleActionResult Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> ScheduleActionResult -> ShowS # show :: ScheduleActionResult -> String # showList :: [ScheduleActionResult] -> ShowS # | |||||
Eq ScheduleActionResult Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: ScheduleActionResult -> ScheduleActionResult -> Bool # (/=) :: ScheduleActionResult -> ScheduleActionResult -> Bool # | |||||
Ord ScheduleActionResult Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: ScheduleActionResult -> ScheduleActionResult -> Ordering # (<) :: ScheduleActionResult -> ScheduleActionResult -> Bool # (<=) :: ScheduleActionResult -> ScheduleActionResult -> Bool # (>) :: ScheduleActionResult -> ScheduleActionResult -> Bool # (>=) :: ScheduleActionResult -> ScheduleActionResult -> Bool # max :: ScheduleActionResult -> ScheduleActionResult -> ScheduleActionResult # min :: ScheduleActionResult -> ScheduleActionResult -> ScheduleActionResult # | |||||
type Rep ScheduleActionResult Source # | |||||
Defined in Temporal.Client.Schedule type Rep ScheduleActionResult = D1 ('MetaData "ScheduleActionResult" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ScheduleActionResult" 'PrefixI 'True) (S1 ('MetaSel ('Just "scheduleTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SystemTime) :*: (S1 ('MetaSel ('Just "actualTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SystemTime) :*: S1 ('MetaSel ('Just "startWorkflowResult") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 WorkflowExecution)))) |
data ListSchedulesOptions Source #
Constructors
ListSchedulesOptions | |
Fields |
Instances
Generic ListSchedulesOptions Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: ListSchedulesOptions -> Rep ListSchedulesOptions x # to :: Rep ListSchedulesOptions x -> ListSchedulesOptions # | |||||
Show ListSchedulesOptions Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> ListSchedulesOptions -> ShowS # show :: ListSchedulesOptions -> String # showList :: [ListSchedulesOptions] -> ShowS # | |||||
Eq ListSchedulesOptions Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: ListSchedulesOptions -> ListSchedulesOptions -> Bool # (/=) :: ListSchedulesOptions -> ListSchedulesOptions -> Bool # | |||||
Ord ListSchedulesOptions Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: ListSchedulesOptions -> ListSchedulesOptions -> Ordering # (<) :: ListSchedulesOptions -> ListSchedulesOptions -> Bool # (<=) :: ListSchedulesOptions -> ListSchedulesOptions -> Bool # (>) :: ListSchedulesOptions -> ListSchedulesOptions -> Bool # (>=) :: ListSchedulesOptions -> ListSchedulesOptions -> Bool # max :: ListSchedulesOptions -> ListSchedulesOptions -> ListSchedulesOptions # min :: ListSchedulesOptions -> ListSchedulesOptions -> ListSchedulesOptions # | |||||
type Rep ListSchedulesOptions Source # | |||||
Defined in Temporal.Client.Schedule type Rep ListSchedulesOptions = D1 ('MetaData "ListSchedulesOptions" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ListSchedulesOptions" 'PrefixI 'True) (S1 ('MetaSel ('Just "maximumPageSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int32))) |
data ListScheduleMatchingTimesOptions Source #
Constructors
ListScheduleMatchingTimesOptions | |
Fields
|
Instances
Generic ListScheduleMatchingTimesOptions Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
| |||||
Show ListScheduleMatchingTimesOptions Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> ListScheduleMatchingTimesOptions -> ShowS # | |||||
Eq ListScheduleMatchingTimesOptions Source # | |||||
Defined in Temporal.Client.Schedule | |||||
Ord ListScheduleMatchingTimesOptions Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: ListScheduleMatchingTimesOptions -> ListScheduleMatchingTimesOptions -> Ordering # (<) :: ListScheduleMatchingTimesOptions -> ListScheduleMatchingTimesOptions -> Bool # (<=) :: ListScheduleMatchingTimesOptions -> ListScheduleMatchingTimesOptions -> Bool # (>) :: ListScheduleMatchingTimesOptions -> ListScheduleMatchingTimesOptions -> Bool # (>=) :: ListScheduleMatchingTimesOptions -> ListScheduleMatchingTimesOptions -> Bool # max :: ListScheduleMatchingTimesOptions -> ListScheduleMatchingTimesOptions -> ListScheduleMatchingTimesOptions # min :: ListScheduleMatchingTimesOptions -> ListScheduleMatchingTimesOptions -> ListScheduleMatchingTimesOptions # | |||||
type Rep ListScheduleMatchingTimesOptions Source # | |||||
Defined in Temporal.Client.Schedule type Rep ListScheduleMatchingTimesOptions = D1 ('MetaData "ListScheduleMatchingTimesOptions" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ListScheduleMatchingTimesOptions" 'PrefixI 'True) (S1 ('MetaSel ('Just "scheduleId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScheduleId) :*: (S1 ('MetaSel ('Just "startTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SystemTime) :*: S1 ('MetaSel ('Just "endTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SystemTime)))) |
listScheduleMatchingTimes :: MonadIO m => ScheduleClient -> ListScheduleMatchingTimesOptions -> m (Vector SystemTime) Source #
Lists matching times within a range.
describeSchedule :: MonadIO m => ScheduleClient -> ScheduleId -> m DescribeScheduleResponse Source #
Returns the schedule description and current state of an existing schedule.
data DescribeScheduleResponse Source #
Constructors
DescribeScheduleResponse | |
Fields
|
Instances
Generic DescribeScheduleResponse Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: DescribeScheduleResponse -> Rep DescribeScheduleResponse x # to :: Rep DescribeScheduleResponse x -> DescribeScheduleResponse # | |||||
Show DescribeScheduleResponse Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> DescribeScheduleResponse -> ShowS # show :: DescribeScheduleResponse -> String # showList :: [DescribeScheduleResponse] -> ShowS # | |||||
Eq DescribeScheduleResponse Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: DescribeScheduleResponse -> DescribeScheduleResponse -> Bool # (/=) :: DescribeScheduleResponse -> DescribeScheduleResponse -> Bool # | |||||
type Rep DescribeScheduleResponse Source # | |||||
Defined in Temporal.Client.Schedule type Rep DescribeScheduleResponse = D1 ('MetaData "DescribeScheduleResponse" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "DescribeScheduleResponse" 'PrefixI 'True) ((S1 ('MetaSel ('Just "schedule") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Schedule) :*: S1 ('MetaSel ('Just "info") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScheduleInfo)) :*: (S1 ('MetaSel ('Just "memo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map Text Payload)) :*: (S1 ('MetaSel ('Just "searchAttributes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map SearchAttributeKey SearchAttributeType)) :*: S1 ('MetaSel ('Just "conflictToken") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ByteString))))) |
patchSchedule :: MonadIO m => ScheduleClient -> ScheduleId -> SchedulePatch -> m () Source #
Makes a specific change to a schedule or triggers an immediate action.
data SchedulePatch Source #
Constructors
SchedulePatch | |
Fields
|
Instances
Generic SchedulePatch Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
| |||||
Show SchedulePatch Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> SchedulePatch -> ShowS # show :: SchedulePatch -> String # showList :: [SchedulePatch] -> ShowS # | |||||
Eq SchedulePatch Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: SchedulePatch -> SchedulePatch -> Bool # (/=) :: SchedulePatch -> SchedulePatch -> Bool # | |||||
Ord SchedulePatch Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: SchedulePatch -> SchedulePatch -> Ordering # (<) :: SchedulePatch -> SchedulePatch -> Bool # (<=) :: SchedulePatch -> SchedulePatch -> Bool # (>) :: SchedulePatch -> SchedulePatch -> Bool # (>=) :: SchedulePatch -> SchedulePatch -> Bool # max :: SchedulePatch -> SchedulePatch -> SchedulePatch # min :: SchedulePatch -> SchedulePatch -> SchedulePatch # | |||||
type Rep SchedulePatch Source # | |||||
Defined in Temporal.Client.Schedule |
updateSchedule :: MonadIO m => ScheduleClient -> ScheduleId -> UpdateScheduleRequest -> m () Source #
data UpdateScheduleRequest Source #
Constructors
UpdateScheduleRequest | |
Fields
|
Instances
Generic UpdateScheduleRequest Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: UpdateScheduleRequest -> Rep UpdateScheduleRequest x # to :: Rep UpdateScheduleRequest x -> UpdateScheduleRequest # | |||||
Show UpdateScheduleRequest Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> UpdateScheduleRequest -> ShowS # show :: UpdateScheduleRequest -> String # showList :: [UpdateScheduleRequest] -> ShowS # | |||||
Eq UpdateScheduleRequest Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: UpdateScheduleRequest -> UpdateScheduleRequest -> Bool # (/=) :: UpdateScheduleRequest -> UpdateScheduleRequest -> Bool # | |||||
type Rep UpdateScheduleRequest Source # | |||||
Defined in Temporal.Client.Schedule type Rep UpdateScheduleRequest = D1 ('MetaData "UpdateScheduleRequest" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "UpdateScheduleRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "schedule") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Schedule) :*: (S1 ('MetaSel ('Just "conflictToken") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe ByteString)) :*: S1 ('MetaSel ('Just "requestId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) |
newtype ScheduleId Source #
Constructors
ScheduleId | |
Fields |
Instances
FromJSON ScheduleId Source # | |
Defined in Temporal.Common | |
ToJSON ScheduleId Source # | |
Defined in Temporal.Common Methods toJSON :: ScheduleId -> Value # toEncoding :: ScheduleId -> Encoding # toJSONList :: [ScheduleId] -> Value # toEncodingList :: [ScheduleId] -> Encoding # omitField :: ScheduleId -> Bool # | |
IsString ScheduleId Source # | |
Defined in Temporal.Common Methods fromString :: String -> ScheduleId # | |
Show ScheduleId Source # | |
Defined in Temporal.Common Methods showsPrec :: Int -> ScheduleId -> ShowS # show :: ScheduleId -> String # showList :: [ScheduleId] -> ShowS # | |
Eq ScheduleId Source # | |
Defined in Temporal.Common | |
Ord ScheduleId Source # | |
Defined in Temporal.Common Methods compare :: ScheduleId -> ScheduleId -> Ordering # (<) :: ScheduleId -> ScheduleId -> Bool # (<=) :: ScheduleId -> ScheduleId -> Bool # (>) :: ScheduleId -> ScheduleId -> Bool # (>=) :: ScheduleId -> ScheduleId -> Bool # max :: ScheduleId -> ScheduleId -> ScheduleId # min :: ScheduleId -> ScheduleId -> ScheduleId # | |
Hashable ScheduleId Source # | |
Defined in Temporal.Common | |
Lift ScheduleId Source # | |
Defined in Temporal.Common Methods lift :: Quote m => ScheduleId -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => ScheduleId -> Code m ScheduleId # |
data ScheduleSpec Source #
ScheduleSpec is a complete description of a set of absolute timestamps (possibly infinite) that an action should occur at. The meaning of a ScheduleSpec depends only on its contents and never changes, except that the definition of a time zone can change over time (most commonly, when daylight saving time policy changes for an area). To create a totally self-contained ScheduleSpec, use UTC or include timezone_data.
For input, you can provide zero or more of: structured_calendar, calendar, cron_string, interval, and exclude_structured_calendar, and all of them will be used (the schedule will take action at the union of all of their times, minus the ones that match exclude_structured_calendar).
On input, calendar and cron_string fields will be compiled into structured_calendar (and maybe interval and timezone_name), so if you Describe a schedule, you'll see only structured_calendar, interval, etc.
Constructors
ScheduleSpec | |
Fields
|
Instances
Generic ScheduleSpec Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
| |||||
Show ScheduleSpec Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> ScheduleSpec -> ShowS # show :: ScheduleSpec -> String # showList :: [ScheduleSpec] -> ShowS # | |||||
Eq ScheduleSpec Source # | |||||
Defined in Temporal.Client.Schedule | |||||
Ord ScheduleSpec Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: ScheduleSpec -> ScheduleSpec -> Ordering # (<) :: ScheduleSpec -> ScheduleSpec -> Bool # (<=) :: ScheduleSpec -> ScheduleSpec -> Bool # (>) :: ScheduleSpec -> ScheduleSpec -> Bool # (>=) :: ScheduleSpec -> ScheduleSpec -> Bool # max :: ScheduleSpec -> ScheduleSpec -> ScheduleSpec # min :: ScheduleSpec -> ScheduleSpec -> ScheduleSpec # | |||||
type Rep ScheduleSpec Source # | |||||
Defined in Temporal.Client.Schedule type Rep ScheduleSpec = D1 ('MetaData "ScheduleSpec" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ScheduleSpec" 'PrefixI 'True) (((S1 ('MetaSel ('Just "structuredCalendar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [StructuredCalendarSpec]) :*: S1 ('MetaSel ('Just "cronString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Text])) :*: (S1 ('MetaSel ('Just "calendar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CalendarSpec]) :*: (S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [IntervalSpec]) :*: S1 ('MetaSel ('Just "excludeCalendar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [CalendarSpec])))) :*: ((S1 ('MetaSel ('Just "excludeStructuredCalendar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [StructuredCalendarSpec]) :*: (S1 ('MetaSel ('Just "startTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe SystemTime)) :*: S1 ('MetaSel ('Just "endTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe SystemTime)))) :*: (S1 ('MetaSel ('Just "jitter") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Duration)) :*: (S1 ('MetaSel ('Just "timezoneName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "timezoneData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe ByteString))))))) |
Constructors
Schedule | |
Fields
|
Instances
Generic Schedule Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
| |||||
Show Schedule Source # | |||||
Eq Schedule Source # | |||||
Ord Schedule Source # | |||||
Defined in Temporal.Client.Schedule | |||||
type Rep Schedule Source # | |||||
Defined in Temporal.Client.Schedule type Rep Schedule = D1 ('MetaData "Schedule" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "Schedule" 'PrefixI 'True) ((S1 ('MetaSel ('Just "spec") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScheduleSpec) :*: S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScheduleAction)) :*: (S1 ('MetaSel ('Just "policies") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SchedulePolicies) :*: S1 ('MetaSel ('Just "state") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ScheduleState)))) |
data TriggerImmediatelyRequest Source #
Constructors
TriggerImmediatelyRequest | |
Fields |
Instances
Generic TriggerImmediatelyRequest Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: TriggerImmediatelyRequest -> Rep TriggerImmediatelyRequest x # to :: Rep TriggerImmediatelyRequest x -> TriggerImmediatelyRequest # | |||||
Show TriggerImmediatelyRequest Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> TriggerImmediatelyRequest -> ShowS # show :: TriggerImmediatelyRequest -> String # showList :: [TriggerImmediatelyRequest] -> ShowS # | |||||
Eq TriggerImmediatelyRequest Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: TriggerImmediatelyRequest -> TriggerImmediatelyRequest -> Bool # (/=) :: TriggerImmediatelyRequest -> TriggerImmediatelyRequest -> Bool # | |||||
Ord TriggerImmediatelyRequest Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: TriggerImmediatelyRequest -> TriggerImmediatelyRequest -> Ordering # (<) :: TriggerImmediatelyRequest -> TriggerImmediatelyRequest -> Bool # (<=) :: TriggerImmediatelyRequest -> TriggerImmediatelyRequest -> Bool # (>) :: TriggerImmediatelyRequest -> TriggerImmediatelyRequest -> Bool # (>=) :: TriggerImmediatelyRequest -> TriggerImmediatelyRequest -> Bool # max :: TriggerImmediatelyRequest -> TriggerImmediatelyRequest -> TriggerImmediatelyRequest # min :: TriggerImmediatelyRequest -> TriggerImmediatelyRequest -> TriggerImmediatelyRequest # | |||||
type Rep TriggerImmediatelyRequest Source # | |||||
Defined in Temporal.Client.Schedule type Rep TriggerImmediatelyRequest = D1 ('MetaData "TriggerImmediatelyRequest" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "TriggerImmediatelyRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "overlapPolicy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 OverlapPolicy))) |
data BackfillRequest Source #
Constructors
BackfillRequest | |
Fields
|
Instances
Generic BackfillRequest Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: BackfillRequest -> Rep BackfillRequest x # to :: Rep BackfillRequest x -> BackfillRequest # | |||||
Show BackfillRequest Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> BackfillRequest -> ShowS # show :: BackfillRequest -> String # showList :: [BackfillRequest] -> ShowS # | |||||
Eq BackfillRequest Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: BackfillRequest -> BackfillRequest -> Bool # (/=) :: BackfillRequest -> BackfillRequest -> Bool # | |||||
Ord BackfillRequest Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: BackfillRequest -> BackfillRequest -> Ordering # (<) :: BackfillRequest -> BackfillRequest -> Bool # (<=) :: BackfillRequest -> BackfillRequest -> Bool # (>) :: BackfillRequest -> BackfillRequest -> Bool # (>=) :: BackfillRequest -> BackfillRequest -> Bool # max :: BackfillRequest -> BackfillRequest -> BackfillRequest # min :: BackfillRequest -> BackfillRequest -> BackfillRequest # | |||||
type Rep BackfillRequest Source # | |||||
Defined in Temporal.Client.Schedule type Rep BackfillRequest = D1 ('MetaData "BackfillRequest" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "BackfillRequest" 'PrefixI 'True) (S1 ('MetaSel ('Just "startTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SystemTime) :*: (S1 ('MetaSel ('Just "endTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SystemTime) :*: S1 ('MetaSel ('Just "overlapPolicy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 OverlapPolicy)))) |
data StructuredCalendarSpec Source #
StructuredCalendarSpec describes an event specification relative to the calendar, in a form that's easy to work with programmatically. Each field can be one or more ranges.
A timestamp matches if at least one range of each field matches the corresponding fields of the timestamp, except for year: if year is missing, that means all years match. For all fields besides year, at least one Range must be present to match anything.
Constructors
StructuredCalendarSpec | |
Fields
|
Instances
Generic StructuredCalendarSpec Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: StructuredCalendarSpec -> Rep StructuredCalendarSpec x # to :: Rep StructuredCalendarSpec x -> StructuredCalendarSpec # | |||||
Show StructuredCalendarSpec Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> StructuredCalendarSpec -> ShowS # show :: StructuredCalendarSpec -> String # showList :: [StructuredCalendarSpec] -> ShowS # | |||||
Eq StructuredCalendarSpec Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: StructuredCalendarSpec -> StructuredCalendarSpec -> Bool # (/=) :: StructuredCalendarSpec -> StructuredCalendarSpec -> Bool # | |||||
Ord StructuredCalendarSpec Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: StructuredCalendarSpec -> StructuredCalendarSpec -> Ordering # (<) :: StructuredCalendarSpec -> StructuredCalendarSpec -> Bool # (<=) :: StructuredCalendarSpec -> StructuredCalendarSpec -> Bool # (>) :: StructuredCalendarSpec -> StructuredCalendarSpec -> Bool # (>=) :: StructuredCalendarSpec -> StructuredCalendarSpec -> Bool # max :: StructuredCalendarSpec -> StructuredCalendarSpec -> StructuredCalendarSpec # min :: StructuredCalendarSpec -> StructuredCalendarSpec -> StructuredCalendarSpec # | |||||
type Rep StructuredCalendarSpec Source # | |||||
Defined in Temporal.Client.Schedule type Rep StructuredCalendarSpec = D1 ('MetaData "StructuredCalendarSpec" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "StructuredCalendarSpec" 'PrefixI 'True) (((S1 ('MetaSel ('Just "second") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range]) :*: S1 ('MetaSel ('Just "minute") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range])) :*: (S1 ('MetaSel ('Just "hour") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range]) :*: S1 ('MetaSel ('Just "dayOfMonth") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range]))) :*: ((S1 ('MetaSel ('Just "month") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range]) :*: S1 ('MetaSel ('Just "year") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range])) :*: (S1 ('MetaSel ('Just "dayOfWeek") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Range]) :*: S1 ('MetaSel ('Just "comment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))) |
data CalendarSpec Source #
Constructors
CalendarSpec | |
Fields
|
Instances
Generic CalendarSpec Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
| |||||
Show CalendarSpec Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> CalendarSpec -> ShowS # show :: CalendarSpec -> String # showList :: [CalendarSpec] -> ShowS # | |||||
Eq CalendarSpec Source # | |||||
Defined in Temporal.Client.Schedule | |||||
Ord CalendarSpec Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: CalendarSpec -> CalendarSpec -> Ordering # (<) :: CalendarSpec -> CalendarSpec -> Bool # (<=) :: CalendarSpec -> CalendarSpec -> Bool # (>) :: CalendarSpec -> CalendarSpec -> Bool # (>=) :: CalendarSpec -> CalendarSpec -> Bool # max :: CalendarSpec -> CalendarSpec -> CalendarSpec # min :: CalendarSpec -> CalendarSpec -> CalendarSpec # | |||||
type Rep CalendarSpec Source # | |||||
Defined in Temporal.Client.Schedule type Rep CalendarSpec = D1 ('MetaData "CalendarSpec" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "CalendarSpec" 'PrefixI 'True) (((S1 ('MetaSel ('Just "second") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "minute") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "hour") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "dayOfMonth") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))) :*: ((S1 ('MetaSel ('Just "month") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "year") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "dayOfWeek") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "comment") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))))) |
data IntervalSpec Source #
IntervalSpec matches times that can be expressed as:
epoch + n * interval + phase
where n is an integer. phase defaults to zero if missing. interval is required. Both interval and phase must be non-negative and are truncated to the nearest second before any calculations. For example, an interval of 1 hour with phase of zero would match every hour, on the hour. The same interval but a phase of 19 minutes would match every xx:19:00. An interval of 28 days with phase zero would match 2022-02-17T00:00:00Z (among other times). The same interval with a phase of 3 days, 5 hours, and 23 minutes would match 2022-02-20T05:23:00Z instead.
Instances
Generic IntervalSpec Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
| |||||
Show IntervalSpec Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> IntervalSpec -> ShowS # show :: IntervalSpec -> String # showList :: [IntervalSpec] -> ShowS # | |||||
Eq IntervalSpec Source # | |||||
Defined in Temporal.Client.Schedule | |||||
Ord IntervalSpec Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: IntervalSpec -> IntervalSpec -> Ordering # (<) :: IntervalSpec -> IntervalSpec -> Bool # (<=) :: IntervalSpec -> IntervalSpec -> Bool # (>) :: IntervalSpec -> IntervalSpec -> Bool # (>=) :: IntervalSpec -> IntervalSpec -> Bool # max :: IntervalSpec -> IntervalSpec -> IntervalSpec # min :: IntervalSpec -> IntervalSpec -> IntervalSpec # | |||||
type Rep IntervalSpec Source # | |||||
Defined in Temporal.Client.Schedule type Rep IntervalSpec = D1 ('MetaData "IntervalSpec" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "IntervalSpec" 'PrefixI 'True) (S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Duration) :*: S1 ('MetaSel ('Just "phase") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Duration)))) |
data WorkflowExecution Source #
Constructors
WorkflowExecution | |
Fields
|
Instances
Generic WorkflowExecution Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: WorkflowExecution -> Rep WorkflowExecution x # to :: Rep WorkflowExecution x -> WorkflowExecution # | |||||
Show WorkflowExecution Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> WorkflowExecution -> ShowS # show :: WorkflowExecution -> String # showList :: [WorkflowExecution] -> ShowS # | |||||
Eq WorkflowExecution Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: WorkflowExecution -> WorkflowExecution -> Bool # (/=) :: WorkflowExecution -> WorkflowExecution -> Bool # | |||||
Ord WorkflowExecution Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: WorkflowExecution -> WorkflowExecution -> Ordering # (<) :: WorkflowExecution -> WorkflowExecution -> Bool # (<=) :: WorkflowExecution -> WorkflowExecution -> Bool # (>) :: WorkflowExecution -> WorkflowExecution -> Bool # (>=) :: WorkflowExecution -> WorkflowExecution -> Bool # max :: WorkflowExecution -> WorkflowExecution -> WorkflowExecution # min :: WorkflowExecution -> WorkflowExecution -> WorkflowExecution # | |||||
type Rep WorkflowExecution Source # | |||||
Defined in Temporal.Client.Schedule type Rep WorkflowExecution = D1 ('MetaData "WorkflowExecution" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "WorkflowExecution" 'PrefixI 'True) (S1 ('MetaSel ('Just "workflowId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 WorkflowId) :*: S1 ('MetaSel ('Just "runId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RunId))) |
data ScheduleInfo Source #
Constructors
ScheduleInfo | |
Fields
|
Instances
Generic ScheduleInfo Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
| |||||
Show ScheduleInfo Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> ScheduleInfo -> ShowS # show :: ScheduleInfo -> String # showList :: [ScheduleInfo] -> ShowS # | |||||
Eq ScheduleInfo Source # | |||||
Defined in Temporal.Client.Schedule | |||||
type Rep ScheduleInfo Source # | |||||
Defined in Temporal.Client.Schedule type Rep ScheduleInfo = D1 ('MetaData "ScheduleInfo" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ScheduleInfo" 'PrefixI 'True) (((S1 ('MetaSel ('Just "actionCount") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int64) :*: S1 ('MetaSel ('Just "missedCatchupWindow") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int64)) :*: (S1 ('MetaSel ('Just "overlapSkipped") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int64) :*: S1 ('MetaSel ('Just "runningWorkflows") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [WorkflowExecution]))) :*: ((S1 ('MetaSel ('Just "recentActions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ScheduleActionResult]) :*: S1 ('MetaSel ('Just "futureActionTimes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SystemTime])) :*: (S1 ('MetaSel ('Just "createTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe SystemTime)) :*: (S1 ('MetaSel ('Just "updateTime") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe SystemTime)) :*: S1 ('MetaSel ('Just "invalidScheduleError") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))))) |
Arguments
:: forall wf (m :: Type -> Type). (MonadIO m, WorkflowRef wf) | |
=> wf | |
-> WorkflowId | Unlike other uses of WorkflowId, this will be used as a prefix for the actual workflow id, which will be unique. |
-> StartWorkflowOptions | All fields of The workflow id will generally have a timestamp appended for uniqueness. |
-> WorkflowArgs wf :->: m ScheduleAction |
data ScheduleAction Source #
Instances
Show ScheduleAction Source # | |
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> ScheduleAction -> ShowS # show :: ScheduleAction -> String # showList :: [ScheduleAction] -> ShowS # | |
Eq ScheduleAction Source # | |
Defined in Temporal.Client.Schedule Methods (==) :: ScheduleAction -> ScheduleAction -> Bool # (/=) :: ScheduleAction -> ScheduleAction -> Bool # | |
Ord ScheduleAction Source # | |
Defined in Temporal.Client.Schedule Methods compare :: ScheduleAction -> ScheduleAction -> Ordering # (<) :: ScheduleAction -> ScheduleAction -> Bool # (<=) :: ScheduleAction -> ScheduleAction -> Bool # (>) :: ScheduleAction -> ScheduleAction -> Bool # (>=) :: ScheduleAction -> ScheduleAction -> Bool # max :: ScheduleAction -> ScheduleAction -> ScheduleAction # min :: ScheduleAction -> ScheduleAction -> ScheduleAction # |
data SchedulePolicies Source #
Constructors
SchedulePolicies | |
Fields
|
Instances
Generic SchedulePolicies Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
Methods from :: SchedulePolicies -> Rep SchedulePolicies x # to :: Rep SchedulePolicies x -> SchedulePolicies # | |||||
Show SchedulePolicies Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> SchedulePolicies -> ShowS # show :: SchedulePolicies -> String # showList :: [SchedulePolicies] -> ShowS # | |||||
Eq SchedulePolicies Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: SchedulePolicies -> SchedulePolicies -> Bool # (/=) :: SchedulePolicies -> SchedulePolicies -> Bool # | |||||
Ord SchedulePolicies Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: SchedulePolicies -> SchedulePolicies -> Ordering # (<) :: SchedulePolicies -> SchedulePolicies -> Bool # (<=) :: SchedulePolicies -> SchedulePolicies -> Bool # (>) :: SchedulePolicies -> SchedulePolicies -> Bool # (>=) :: SchedulePolicies -> SchedulePolicies -> Bool # max :: SchedulePolicies -> SchedulePolicies -> SchedulePolicies # min :: SchedulePolicies -> SchedulePolicies -> SchedulePolicies # | |||||
type Rep SchedulePolicies Source # | |||||
Defined in Temporal.Client.Schedule type Rep SchedulePolicies = D1 ('MetaData "SchedulePolicies" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SchedulePolicies" 'PrefixI 'True) (S1 ('MetaSel ('Just "overlapPolicy") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 OverlapPolicy) :*: (S1 ('MetaSel ('Just "catchupWindow") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Duration)) :*: S1 ('MetaSel ('Just "pauseOnFailure") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))) |
data ScheduleState Source #
Constructors
ScheduleState | |
Fields
|
Instances
Generic ScheduleState Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
| |||||
Show ScheduleState Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> ScheduleState -> ShowS # show :: ScheduleState -> String # showList :: [ScheduleState] -> ShowS # | |||||
Eq ScheduleState Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: ScheduleState -> ScheduleState -> Bool # (/=) :: ScheduleState -> ScheduleState -> Bool # | |||||
Ord ScheduleState Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: ScheduleState -> ScheduleState -> Ordering # (<) :: ScheduleState -> ScheduleState -> Bool # (<=) :: ScheduleState -> ScheduleState -> Bool # (>) :: ScheduleState -> ScheduleState -> Bool # (>=) :: ScheduleState -> ScheduleState -> Bool # max :: ScheduleState -> ScheduleState -> ScheduleState # min :: ScheduleState -> ScheduleState -> ScheduleState # | |||||
type Rep ScheduleState Source # | |||||
Defined in Temporal.Client.Schedule type Rep ScheduleState = D1 ('MetaData "ScheduleState" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "ScheduleState" 'PrefixI 'True) ((S1 ('MetaSel ('Just "notes") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "paused") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "limitedActions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "remainingActions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int64)))) |
data OverlapPolicy Source #
Constructors
Unspecified | |
Skip | Skip (default) means don't start anything. When the workflow completes, the next scheduled event after that time will be considered. |
BufferOne | BufferOne means start the workflow again soon as the current one completes, but only buffer one start in this way. If another start is supposed to happen when the workflow is running, and one is already buffered, then only the first one will be started after the running workflow finishes. |
BufferAll | BufferAll means buffer up any number of starts to all happen sequentially, immediately after the running workflow completes. |
CancelOther | CancelOther means that if there is another workflow running, cancel it, and start the new one after the old one completes cancellation. |
TerminateOther | TerminateOther means that if there is another workflow running, terminate it and start the new one immediately. |
AllowAll | AllowAll means start any number of concurrent workflows. Note that with this policy, last completion result and last failure will not be available since workflows are not sequential. |
OverlapPolicyUnrecognized |
Instances
Generic OverlapPolicy Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
| |||||
Show OverlapPolicy Source # | |||||
Defined in Temporal.Client.Schedule Methods showsPrec :: Int -> OverlapPolicy -> ShowS # show :: OverlapPolicy -> String # showList :: [OverlapPolicy] -> ShowS # | |||||
Eq OverlapPolicy Source # | |||||
Defined in Temporal.Client.Schedule Methods (==) :: OverlapPolicy -> OverlapPolicy -> Bool # (/=) :: OverlapPolicy -> OverlapPolicy -> Bool # | |||||
Ord OverlapPolicy Source # | |||||
Defined in Temporal.Client.Schedule Methods compare :: OverlapPolicy -> OverlapPolicy -> Ordering # (<) :: OverlapPolicy -> OverlapPolicy -> Bool # (<=) :: OverlapPolicy -> OverlapPolicy -> Bool # (>) :: OverlapPolicy -> OverlapPolicy -> Bool # (>=) :: OverlapPolicy -> OverlapPolicy -> Bool # max :: OverlapPolicy -> OverlapPolicy -> OverlapPolicy # min :: OverlapPolicy -> OverlapPolicy -> OverlapPolicy # | |||||
type Rep OverlapPolicy Source # | |||||
Defined in Temporal.Client.Schedule type Rep OverlapPolicy = D1 ('MetaData "OverlapPolicy" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (((C1 ('MetaCons "Unspecified" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Skip" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BufferOne" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BufferAll" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "CancelOther" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TerminateOther" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "AllowAll" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverlapPolicyUnrecognized" 'PrefixI 'False) (U1 :: Type -> Type)))) |
Range represents a set of integer values, used to match fields of a calendar time in StructuredCalendarSpec. If end < start, then end is interpreted as equal to start. This means you can use a Range with start set to a value, and end and step unset (defaulting to 0) to represent a single value.
Constructors
Range | |
Instances
Generic Range Source # | |||||
Defined in Temporal.Client.Schedule Associated Types
| |||||
Show Range Source # | |||||
Eq Range Source # | |||||
Ord Range Source # | |||||
type Rep Range Source # | |||||
Defined in Temporal.Client.Schedule type Rep Range = D1 ('MetaData "Range" "Temporal.Client.Schedule" "temporal-sdk-0.0.1.0-inplace" 'False) (C1 ('MetaCons "Range" 'PrefixI 'True) (S1 ('MetaSel ('Just "start") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int32) :*: (S1 ('MetaSel ('Just "end") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int32) :*: S1 ('MetaSel ('Just "step") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int32)))) |
module Temporal.Duration