{-# OPTIONS_GHC -Wno-warnings-deprecations #-}
{-# LANGUAGE OverloadedStrings #-}
module Capataz.HowTo.DynamicWorker
(
main
) where
import RIO
import Capataz
(
forkCapataz
, forkWorker
, terminateCapataz_
, buildWorkerOptions
, workerRestartStrategyL
, WorkerRestartStrategy(..)
, onSystemEventL
)
myUselessWorker :: IO ()
myUselessWorker = return ()
main :: IO ()
main = do
bracket
(forkCapataz "dynamic-worker-example"
(set onSystemEventL traceDisplayIO))
terminateCapataz_
(\capataz -> do
void $ forkWorker
( buildWorkerOptions "useless-worker"
myUselessWorker
(set workerRestartStrategyL Transient)
)
capataz
threadDelay 1001000)