faktory-1.1.2.7: library/Faktory/JobFailure.hs
module Faktory.JobFailure
( JobFailure (..)
) where
import Faktory.Prelude
import Data.Aeson
import Data.Time (UTCTime)
data JobFailure = JobFailure
{ jfRetryCount :: Int
, jfFailedAt :: UTCTime
, jfNextAt :: Maybe UTCTime
, jfErrorMessage :: Maybe Text
, jfErrorType :: Maybe Text
, jfBacktrace :: Maybe [Text]
}
deriving stock (Show)
-- brittany-disable-next-binding
instance FromJSON JobFailure where
parseJSON = withObject "Failure" $ \o ->
JobFailure
<$> o .: "retry_count"
<*> o .: "failed_at"
<*> o .:? "next_at"
<*> o .:? "error_message"
<*> o .:? "error_type"
<*> o .:? "backtrace"