]> woffs.de Git - fd/haskell-amqp-utils.git/blob - agitprop.hs
small doc updates
[fd/haskell-amqp-utils.git] / agitprop.hs
1 {-# LANGUAGE OverloadedStrings #-}
2
3 import           Paths_amqp_utils           ( version )
4 import           Data.Version               ( showVersion )
5 import           System.Environment
6 import qualified Data.Text                  as T
7 import           Network.AMQP
8 import           Network.AMQP.Utils.Options
9 import           Network.AMQP.Utils.Helpers
10 import           Network.AMQP.Utils.Connection
11 import qualified Data.ByteString.Lazy.Char8 as BL
12
13 main :: IO ()
14 main = do
15     hr "starting"
16     --  tid <- myThreadId
17     args <- getArgs >>= parseargs "agitprop"
18     printparam' "client version" $ "amqp-utils " ++ (showVersion version)
19     messageFile <- BL.readFile (inputFile args)
20     (conn, chan) <- connect args
21     let publishOneMsg f = publishMsg chan
22                                      (T.pack $ currentExchange args)
23                                      (T.pack $ rKey args)
24                                      newMsg { msgBody = f
25                                             , msgDeliveryMode = Just Persistent
26                                             }
27     _ <- if (lineMode args)
28          then mapM_ publishOneMsg (BL.lines messageFile)
29          else publishOneMsg messageFile >> return ()
30
31     closeConnection conn