Vastaa webhook-ilmoituksiin välittömästi

Tämä korjaa ongelman, jossa gitean webhookin http-kysely ehtii vanhentua
ennen kuin siihen on vastattu. Ilmoituksia lähettävän järjestelmän ei
myöskään tarvitse tietää kauanko ilmoitusten prosessointi kestää.
This commit is contained in:
Saku Laesvuori 2023-09-02 13:22:37 +03:00
parent f708ef1348
commit 2e526fe122
Signed by: slaesvuo
GPG Key ID: 257D284A2A1D3A32

View File

@ -7,6 +7,7 @@ module Main where
import Control.Concurrent (forkIO)
import Control.Exception (onException)
import Control.Exception (throwIO)
import Control.Monad (void)
import Data.Acid (openLocalState)
import Data.Acid.Remote (skipAuthenticationCheck, acidServerSockAddr, openRemoteStateSockAddr, skipAuthenticationPerform)
import Data.IMF (Mailbox, parse, mailbox)
@ -38,7 +39,7 @@ serverMain socket mail repoPath sendmailPath = do
queueMessages acid
_ <- forkIO $ scotty 3000 $ do
defaultHandler $ liftAndCatchIO . LT.putStrLn -- Don't return exceptions to clients
post "/" $ liftAndCatchIO $ updateMessages acid repoPath
post "/" $ liftAndCatchIO $ void $ forkIO $ updateMessages acid repoPath
updateMessages acid repoPath
_ <- forkIO $ manageQueueingMessages acid
_ <- forkIO $ managePreviews acid mail sendmailPath