| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Control.Distributed.Fork.Backend
Description
You only need this module if you want to create a new backend for distributed-fork.
See localProcessBackend for a minimal example.
- newtype Backend = Backend {
- bExecute :: ByteString -> BackendM ByteString
 
 - data BackendM a
 - argExecutorMode :: String
 - data ExecutorFinalStatus a
 - data ExecutorStatus a
 - data ExecutorPendingStatus
 - waiting :: BackendM ()
 - waitingDesc :: Text -> BackendM ()
 - submitted :: BackendM ()
 - submittedDesc :: Text -> BackendM ()
 - started :: BackendM ()
 - startedDesc :: Text -> BackendM ()
 - liftIO :: MonadIO m => forall a. IO a -> m a
 - getExecutablePath :: IO FilePath
 
Writing a Backend.
Backend is responsible for running your functions in a remote environment.
See:
Constructors
| Backend | |
Fields 
  | |
BackendM is essentially IO, but also has the ability to report the status of the
 executor.
argExecutorMode :: String Source #
We switch to executor mode only when  argv[1] == argExecutorMode.
Reporting status
data ExecutorFinalStatus a Source #
Constructors
| ExecutorFailed Text | |
| ExecutorSucceeded a | 
Instances
| Generic (ExecutorFinalStatus a) Source # | |
| Binary a => Binary (ExecutorFinalStatus a) Source # | |
| type Rep (ExecutorFinalStatus a) Source # | |
data ExecutorStatus a Source #
Constructors
| ExecutorPending ExecutorPendingStatus | |
| ExecutorFinished (ExecutorFinalStatus a) | 
data ExecutorPendingStatus Source #
Constructors
| ExecutorWaiting (Maybe Text) | |
| ExecutorSubmitted (Maybe Text) | |
| ExecutorStarted (Maybe Text) | 
waitingDesc :: Text -> BackendM () Source #
submittedDesc :: Text -> BackendM () Source #
startedDesc :: Text -> BackendM () Source #
Re-exports
getExecutablePath :: IO FilePath #
Returns the absolute pathname of the current executable.
Note that for scripts and interactive sessions, this is the path to the interpreter (e.g. ghci.)
Since: 4.6.0.0