| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
IHP.Job.Runner
Synopsis
- runJobWorkers :: [JobWorker] -> Script
- dedicatedProcessMainLoop :: (?modelContext :: ModelContext, ?context :: FrameworkConfig) => [JobWorker] -> IO ()
- installSignalHandlers :: IO (IO ())
- stopExitHandler :: JobWorkerArgs -> IO a -> IO a
- worker :: (job ~ GetModelByTableName (GetTableName job), FromRowHasql job, Show (PrimaryKey (GetTableName job)), KnownSymbol (GetTableName job), HasField "id" job (Id' (GetTableName job)), PrimaryKey (GetTableName job) ~ UUID, HasField "runAt" job UTCTime, HasField "attemptsCount" job Int, Job job, Show job, Table job) => JobWorker
- jobWorkerFetchAndRunLoop :: (job ~ GetModelByTableName (GetTableName job), FromRowHasql job, Show (PrimaryKey (GetTableName job)), KnownSymbol (GetTableName job), HasField "id" job (Id' (GetTableName job)), PrimaryKey (GetTableName job) ~ UUID, HasField "runAt" job UTCTime, HasField "attemptsCount" job Int, Job job, Show job, Table job) => JobWorkerArgs -> ResourceT IO JobWorkerProcess
Documentation
runJobWorkers :: [JobWorker] -> Script Source #
Used by the RunJobs binary
dedicatedProcessMainLoop :: (?modelContext :: ModelContext, ?context :: FrameworkConfig) => [JobWorker] -> IO () Source #
This job worker main loop is used when the job workers are running as part of their own binary.
Both the production RunJobs binary and the dev-mode RunDevWorker use this.
installSignalHandlers :: IO (IO ()) Source #
Installs signals handlers and returns an IO action that blocks until the next sigINT or sigTERM is sent
stopExitHandler :: JobWorkerArgs -> IO a -> IO a Source #
worker :: (job ~ GetModelByTableName (GetTableName job), FromRowHasql job, Show (PrimaryKey (GetTableName job)), KnownSymbol (GetTableName job), HasField "id" job (Id' (GetTableName job)), PrimaryKey (GetTableName job) ~ UUID, HasField "runAt" job UTCTime, HasField "attemptsCount" job Int, Job job, Show job, Table job) => JobWorker Source #
jobWorkerFetchAndRunLoop :: (job ~ GetModelByTableName (GetTableName job), FromRowHasql job, Show (PrimaryKey (GetTableName job)), KnownSymbol (GetTableName job), HasField "id" job (Id' (GetTableName job)), PrimaryKey (GetTableName job) ~ UUID, HasField "runAt" job UTCTime, HasField "attemptsCount" job Int, Job job, Show job, Table job) => JobWorkerArgs -> ResourceT IO JobWorkerProcess Source #