| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Temporal.Core.Worker
Synopsis
- data Worker (ty :: WorkerType)
- getWorkerClient :: Worker 'Real -> Client
- data WorkerConfig = WorkerConfig {
- namespace :: Text
- taskQueue :: Text
- buildId :: Text
- identityOverride :: Maybe Text
- maxCachedWorkflows :: Word64
- maxOutstandingWorkflowTasks :: Word64
- maxOutstandingActivities :: Word64
- maxOutstandingLocalActivities :: Word64
- maxConcurrentWorkflowTaskPolls :: Word64
- nonstickyToStickyPollRatio :: Float
- maxConcurrentActivityTaskPolls :: Word64
- noRemoteActivities :: Bool
- stickyQueueScheduleToStartTimeoutMillis :: Word64
- maxHeartbeatThrottleIntervalMillis :: Word64
- defaultHeartbeatThrottleIntervalMillis :: Word64
- maxActivitiesPerSecond :: Maybe Double
- maxTaskQueueActivitiesPerSecond :: Maybe Double
- gracefulShutdownPeriodMillis :: Word64
- nondeterminismAsWorkflowFail :: Bool
- nondeterminismAsWorkflowFailForTypes :: [Text]
- getWorkerConfig :: forall (ty :: WorkerType). Worker ty -> WorkerConfig
- defaultWorkerConfig :: WorkerConfig
- data WorkerError = WorkerError {
- code :: WorkerErrorCode
- message :: Text
- data WorkerErrorCode
- data WorkerType
- data SWorkerType (ty :: WorkerType) where
- SReal :: SWorkerType 'Real
- SReplay :: SWorkerType 'Replay
- data SomeWorkerType where
- SomeWorkerType :: forall (ty :: WorkerType). SWorkerType ty -> SomeWorkerType
- newWorker :: Client -> WorkerConfig -> IO (Either WorkerError (Worker 'Real))
- validateWorker :: Worker 'Real -> IO (Either WorkerValidationError ())
- newReplayWorker :: Runtime -> WorkerConfig -> IO (Either WorkerError (Worker 'Replay, HistoryPusher))
- closeWorker :: forall (ty :: WorkerType). Worker ty -> IO ()
- type family InactiveForReplay (ty :: WorkerType) a where ...
- data WorkflowActivation
- pollWorkflowActivation :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> IO (Either WorkerError WorkflowActivation)
- data ActivityTask
- pollActivityTask :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> IO (Either WorkerError ActivityTask)
- data WorkflowActivationCompletion
- completeWorkflowActivation :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> WorkflowActivationCompletion -> IO (Either WorkerError ())
- data ActivityTaskCompletion
- completeActivityTask :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> ActivityTaskCompletion -> IO (Either WorkerError ())
- data ActivityHeartbeat
- recordActivityHeartbeat :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> ActivityHeartbeat -> IO (Either WorkerError ())
- requestWorkflowEviction :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> RunId -> IO ()
- initiateShutdown :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> IO ()
- finalizeShutdown :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> IO (Either WorkerError ())
- data HistoryPusher
- data History
- pushHistory :: HistoryPusher -> WorkflowId -> Either ByteString History -> IO (Either WorkerError ())
- closeHistory :: HistoryPusher -> IO ()
- class KnownWorkerType (ty :: WorkerType) where
- knownWorkerType :: SWorkerType ty
Documentation
data Worker (ty :: WorkerType) Source #
data WorkerConfig Source #
Constructors
Instances
| FromJSON WorkerConfig Source # | |
Defined in Temporal.Core.Worker | |
| ToJSON WorkerConfig Source # | |
Defined in Temporal.Core.Worker Methods toJSON :: WorkerConfig -> Value # toEncoding :: WorkerConfig -> Encoding # toJSONList :: [WorkerConfig] -> Value # toEncodingList :: [WorkerConfig] -> Encoding # omitField :: WorkerConfig -> Bool # | |
getWorkerConfig :: forall (ty :: WorkerType). Worker ty -> WorkerConfig Source #
data WorkerError Source #
Constructors
| WorkerError | |
Fields
| |
Instances
| Exception WorkerError Source # | |
Defined in Temporal.Core.CTypes Methods toException :: WorkerError -> SomeException # fromException :: SomeException -> Maybe WorkerError # displayException :: WorkerError -> String # backtraceDesired :: WorkerError -> Bool # | |
| Show WorkerError Source # | |
Defined in Temporal.Core.CTypes Methods showsPrec :: Int -> WorkerError -> ShowS # show :: WorkerError -> String # showList :: [WorkerError] -> ShowS # | |
| Eq WorkerError Source # | |
Defined in Temporal.Core.CTypes | |
data WorkerErrorCode Source #
Constructors
| SDKError | |
| InitWorkerFailed | |
| InitReplayWorkerFailed | |
| InvalidProto | |
| ReplayWorkerClosed | |
| PollShutdown | |
| PollFailure | |
| CompletionFailure | |
| InvalidWorkerConfig | |
| UnknownError Word8 |
Instances
| Storable WorkerErrorCode Source # | |
Defined in Temporal.Core.CTypes Methods sizeOf :: WorkerErrorCode -> Int # alignment :: WorkerErrorCode -> Int # peekElemOff :: Ptr WorkerErrorCode -> Int -> IO WorkerErrorCode # pokeElemOff :: Ptr WorkerErrorCode -> Int -> WorkerErrorCode -> IO () # peekByteOff :: Ptr b -> Int -> IO WorkerErrorCode # pokeByteOff :: Ptr b -> Int -> WorkerErrorCode -> IO () # peek :: Ptr WorkerErrorCode -> IO WorkerErrorCode # poke :: Ptr WorkerErrorCode -> WorkerErrorCode -> IO () # | |
| Show WorkerErrorCode Source # | |
Defined in Temporal.Core.CTypes Methods showsPrec :: Int -> WorkerErrorCode -> ShowS # show :: WorkerErrorCode -> String # showList :: [WorkerErrorCode] -> ShowS # | |
| Eq WorkerErrorCode Source # | |
Defined in Temporal.Core.CTypes Methods (==) :: WorkerErrorCode -> WorkerErrorCode -> Bool # (/=) :: WorkerErrorCode -> WorkerErrorCode -> Bool # | |
data WorkerType Source #
data SWorkerType (ty :: WorkerType) where Source #
A singleton type for WorkerType.
Constructors
| SReal :: SWorkerType 'Real | |
| SReplay :: SWorkerType 'Replay |
data SomeWorkerType where Source #
Constructors
| SomeWorkerType :: forall (ty :: WorkerType). SWorkerType ty -> SomeWorkerType |
newWorker :: Client -> WorkerConfig -> IO (Either WorkerError (Worker 'Real)) Source #
newReplayWorker :: Runtime -> WorkerConfig -> IO (Either WorkerError (Worker 'Replay, HistoryPusher)) Source #
closeWorker :: forall (ty :: WorkerType). Worker ty -> IO () Source #
type family InactiveForReplay (ty :: WorkerType) a where ... Source #
Equations
| InactiveForReplay 'Real a = a | |
| InactiveForReplay 'Replay _1 = () |
data WorkflowActivation #
Fields :
runId:: Lens' WorkflowActivation Data.Text.Texttimestamp:: Lens' WorkflowActivation Proto.Google.Protobuf.Timestamp.Timestampmaybe'timestamp:: Lens' WorkflowActivation (Prelude.Maybe Proto.Google.Protobuf.Timestamp.Timestamp)isReplaying:: Lens' WorkflowActivation Prelude.BoolhistoryLength:: Lens' WorkflowActivation Data.Word.Word32jobs:: Lens' WorkflowActivation [WorkflowActivationJob]vec'jobs:: Lens' WorkflowActivation (Data.Vector.Vector WorkflowActivationJob)availableInternalFlags:: Lens' WorkflowActivation [Data.Word.Word32]vec'availableInternalFlags:: Lens' WorkflowActivation (Data.Vector.Unboxed.Vector Data.Word.Word32)historySizeBytes:: Lens' WorkflowActivation Data.Word.Word64continueAsNewSuggested:: Lens' WorkflowActivation Prelude.BoolbuildIdForCurrentTask:: Lens' WorkflowActivation Data.Text.Text
Instances
pollWorkflowActivation :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> IO (Either WorkerError WorkflowActivation) Source #
data ActivityTask #
Fields :
taskToken:: Lens' ActivityTask Data.ByteString.ByteStringmaybe'variant:: Lens' ActivityTask (Prelude.Maybe ActivityTask'Variant)maybe'start:: Lens' ActivityTask (Prelude.Maybe Start)start:: Lens' ActivityTask Startmaybe'cancel:: Lens' ActivityTask (Prelude.Maybe Cancel)cancel:: Lens' ActivityTask Cancel
Instances
pollActivityTask :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> IO (Either WorkerError ActivityTask) Source #
data WorkflowActivationCompletion #
Fields :
runId:: Lens' WorkflowActivationCompletion Data.Text.Textmaybe'status:: Lens' WorkflowActivationCompletion (Prelude.Maybe WorkflowActivationCompletion'Status)maybe'successful:: Lens' WorkflowActivationCompletion (Prelude.Maybe Success)successful:: Lens' WorkflowActivationCompletion Successmaybe'failed:: Lens' WorkflowActivationCompletion (Prelude.Maybe Failure)failed:: Lens' WorkflowActivationCompletion Failure
Instances
completeWorkflowActivation :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> WorkflowActivationCompletion -> IO (Either WorkerError ()) Source #
data ActivityTaskCompletion #
Fields :
taskToken:: Lens' ActivityTaskCompletion Data.ByteString.ByteStringresult:: Lens' ActivityTaskCompletion Proto.Temporal.Sdk.Core.ActivityResult.ActivityResult.ActivityExecutionResultmaybe'result:: Lens' ActivityTaskCompletion (Prelude.Maybe Proto.Temporal.Sdk.Core.ActivityResult.ActivityResult.ActivityExecutionResult)
Instances
completeActivityTask :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> ActivityTaskCompletion -> IO (Either WorkerError ()) Source #
data ActivityHeartbeat #
Fields :
taskToken:: Lens' ActivityHeartbeat Data.ByteString.ByteStringdetails:: Lens' ActivityHeartbeat [Proto.Temporal.Api.Common.V1.Message.Payload]vec'details:: Lens' ActivityHeartbeat (Data.Vector.Vector Proto.Temporal.Api.Common.V1.Message.Payload)
Instances
recordActivityHeartbeat :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> ActivityHeartbeat -> IO (Either WorkerError ()) Source #
requestWorkflowEviction :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> RunId -> IO () Source #
initiateShutdown :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> IO () Source #
Initiate shutdown.
finalizeShutdown :: forall (ty :: WorkerType). KnownWorkerType ty => Worker ty -> IO (Either WorkerError ()) Source #
Completes shutdown and frees all resources. You should avoid simply dropping workers, as this does not allow async tasks to report any panics that may have occurred cleanly.
This should be called only after initiateShutdown has resolved and/or both polling
functions have returned ShutDown errors.
data HistoryPusher Source #
Fields :
events:: Lens' History [HistoryEvent]vec'events:: Lens' History (Data.Vector.Vector HistoryEvent)
Instances
pushHistory :: HistoryPusher -> WorkflowId -> Either ByteString History -> IO (Either WorkerError ()) Source #
closeHistory :: HistoryPusher -> IO () Source #
class KnownWorkerType (ty :: WorkerType) where Source #
Methods
knownWorkerType :: SWorkerType ty Source #
Instances
| KnownWorkerType 'Real Source # | |
Defined in Temporal.Core.Worker Methods | |
| KnownWorkerType 'Replay Source # | |
Defined in Temporal.Core.Worker Methods | |