module Control.Distributed.Task.TaskSpawning.TaskDefinition where
import Control.Distributed.Process.Serializable (Serializable)
import Data.Binary (Binary)
import Data.ByteString.Lazy (ByteString)
import Data.Typeable (Typeable)
import GHC.Generics (Generic)
import Control.Distributed.Task.Types.HdfsConfigTypes
data TaskDef
= SourceCodeModule {
_moduleName :: String,
_moduleContent :: String
}
| DeployFullBinary {
_deployable :: ByteString
}
| PreparedDeployFullBinary {
_preparedFullBinaryHash :: Int
}
| UnevaluatedThunk {
_unevaluatedThunk :: ByteString,
_deployable :: ByteString
}
| ObjectCodeModule {
_objectCode :: ByteString
} deriving (Typeable, Generic)
instance Binary TaskDef
instance Serializable TaskDef
data DataDef
= HdfsData {
_hdfsInputPath :: HdfsPath
}
| PseudoDB {
_pseudoDBFilePath :: FilePath
} deriving (Typeable, Generic)
instance Binary DataDef
instance Serializable DataDef
data ResultDef
= ReturnAsMessage
| ReturnOnlyNumResults
| HdfsResult {
_outputPrefix :: String,
_outputSuffix :: String,
_outputZipped :: Bool
}
deriving (Typeable, Generic)
instance Binary ResultDef
instance Serializable ResultDef