mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-01-23 09:21:56 +01:00
Add a bunch of caching
This commit is contained in:
parent
f5056a2b8c
commit
98f2fa250f
@ -41,6 +41,7 @@ postMonth p =
|
|||||||
|
|
||||||
getBlogHomeR :: Handler ()
|
getBlogHomeR :: Handler ()
|
||||||
getBlogHomeR = do
|
getBlogHomeR = do
|
||||||
|
cacheSeconds 3600
|
||||||
posts <- getPosts
|
posts <- getPosts
|
||||||
case headMay posts of
|
case headMay posts of
|
||||||
Nothing -> notFound
|
Nothing -> notFound
|
||||||
@ -50,6 +51,7 @@ getBlogHomeR = do
|
|||||||
|
|
||||||
getBlogPostR :: Year -> Month -> Text -> Handler Html
|
getBlogPostR :: Year -> Month -> Text -> Handler Html
|
||||||
getBlogPostR year month slug = do
|
getBlogPostR year month slug = do
|
||||||
|
cacheSeconds 3600
|
||||||
posts <- getPosts
|
posts <- getPosts
|
||||||
post <- maybe notFound return $ find matches posts
|
post <- maybe notFound return $ find matches posts
|
||||||
now <- getCurrentTime
|
now <- getCurrentTime
|
||||||
@ -64,6 +66,7 @@ getBlogPostR year month slug = do
|
|||||||
|
|
||||||
getBlogFeedR :: Handler TypedContent
|
getBlogFeedR :: Handler TypedContent
|
||||||
getBlogFeedR = do
|
getBlogFeedR = do
|
||||||
|
cacheSeconds 3600
|
||||||
posts <- fmap (take 10) getPosts
|
posts <- fmap (take 10) getPosts
|
||||||
latest <- maybe notFound return $ headMay posts
|
latest <- maybe notFound return $ headMay posts
|
||||||
newsFeed
|
newsFeed
|
||||||
|
|||||||
@ -20,7 +20,9 @@ getBranchFeedR :: SnapshotBranch -> Handler TypedContent
|
|||||||
getBranchFeedR = track "Handler.Feed.getBranchFeedR" . getBranchFeed . Just
|
getBranchFeedR = track "Handler.Feed.getBranchFeedR" . getBranchFeed . Just
|
||||||
|
|
||||||
getBranchFeed :: Maybe SnapshotBranch -> Handler TypedContent
|
getBranchFeed :: Maybe SnapshotBranch -> Handler TypedContent
|
||||||
getBranchFeed mBranch = mkFeed mBranch =<< getSnapshots mBranch 20 0
|
getBranchFeed mBranch = do
|
||||||
|
cacheSeconds 3600
|
||||||
|
mkFeed mBranch =<< getSnapshots mBranch 20 0
|
||||||
|
|
||||||
mkFeed :: Maybe SnapshotBranch -> [Entity Snapshot] -> Handler TypedContent
|
mkFeed :: Maybe SnapshotBranch -> [Entity Snapshot] -> Handler TypedContent
|
||||||
mkFeed _ [] = notFound
|
mkFeed _ [] = notFound
|
||||||
|
|||||||
@ -29,6 +29,7 @@ getHaddockR snapName rest
|
|||||||
Just route -> redirect route
|
Just route -> redirect route
|
||||||
Nothing -> redirect $ makeURL snapName rest
|
Nothing -> redirect $ makeURL snapName rest
|
||||||
| Just docType <- mdocType = do
|
| Just docType <- mdocType = do
|
||||||
|
cacheSeconds $ 60 * 60 * 24 * 7
|
||||||
result <- redirectWithVersion snapName rest
|
result <- redirectWithVersion snapName rest
|
||||||
case result of
|
case result of
|
||||||
Just route -> redirect route
|
Just route -> redirect route
|
||||||
|
|||||||
@ -28,6 +28,7 @@ getHealthzR = return "This should never be used, we should use the middleware in
|
|||||||
-- inclined, or create a single monolithic file.
|
-- inclined, or create a single monolithic file.
|
||||||
getHomeR :: Handler Html
|
getHomeR :: Handler Html
|
||||||
getHomeR = track "Handler.Snapshots.getAllSnapshotsR" $ do
|
getHomeR = track "Handler.Snapshots.getAllSnapshotsR" $ do
|
||||||
|
cacheSeconds $ 60 * 60
|
||||||
now' <- getCurrentTime
|
now' <- getCurrentTime
|
||||||
currentPageMay <- lookupGetParam "page"
|
currentPageMay <- lookupGetParam "page"
|
||||||
let currentPage :: Int
|
let currentPage :: Int
|
||||||
|
|||||||
@ -148,6 +148,7 @@ handlePackage epi = do
|
|||||||
getPackageSnapshotsR :: PackageNameP -> Handler Html
|
getPackageSnapshotsR :: PackageNameP -> Handler Html
|
||||||
getPackageSnapshotsR pn =
|
getPackageSnapshotsR pn =
|
||||||
track "Handler.Package.getPackageSnapshotsR" $ do
|
track "Handler.Package.getPackageSnapshotsR" $ do
|
||||||
|
cacheSeconds $ 60 * 60 * 24
|
||||||
snapshots <- getSnapshotsForPackage pn Nothing
|
snapshots <- getSnapshotsForPackage pn Nothing
|
||||||
defaultLayout
|
defaultLayout
|
||||||
(do setTitle ("Packages for " >> toHtml pn)
|
(do setTitle ("Packages for " >> toHtml pn)
|
||||||
|
|||||||
@ -13,13 +13,15 @@ import Stackage.Database
|
|||||||
|
|
||||||
getPackageDepsR :: PackageNameP -> Handler Html
|
getPackageDepsR :: PackageNameP -> Handler Html
|
||||||
getPackageDepsR pname = do
|
getPackageDepsR pname = do
|
||||||
|
cacheSeconds $ 60 * 60
|
||||||
mspi <- getSnapshotPackageLatestVersion pname
|
mspi <- getSnapshotPackageLatestVersion pname
|
||||||
case mspi of
|
case mspi of
|
||||||
Nothing -> redirect $ PackageR pname
|
Nothing -> redirect $ PackageR pname
|
||||||
Just spi -> helper Deps spi
|
Just spi -> helper Deps spi
|
||||||
|
|
||||||
getSnapshotPackageDepsR :: SnapName -> PackageNameVersion -> Handler Html
|
getSnapshotPackageDepsR :: SnapName -> PackageNameVersion -> Handler Html
|
||||||
getSnapshotPackageDepsR snapName pnv =
|
getSnapshotPackageDepsR snapName pnv = do
|
||||||
|
cacheSeconds $ 60 * 60
|
||||||
pnvToSnapshotPackageInfo snapName pnv (\_ _ -> notFound) $ \isSameVersion spi ->
|
pnvToSnapshotPackageInfo snapName pnv (\_ _ -> notFound) $ \isSameVersion spi ->
|
||||||
if isSameVersion
|
if isSameVersion
|
||||||
then helper Deps spi
|
then helper Deps spi
|
||||||
@ -29,13 +31,15 @@ getSnapshotPackageDepsR snapName pnv =
|
|||||||
|
|
||||||
getPackageRevDepsR :: PackageNameP -> Handler Html
|
getPackageRevDepsR :: PackageNameP -> Handler Html
|
||||||
getPackageRevDepsR pname = do
|
getPackageRevDepsR pname = do
|
||||||
|
cacheSeconds $ 60 * 60
|
||||||
mspi <- getSnapshotPackageLatestVersion pname
|
mspi <- getSnapshotPackageLatestVersion pname
|
||||||
case mspi of
|
case mspi of
|
||||||
Nothing -> redirect $ PackageR pname
|
Nothing -> redirect $ PackageR pname
|
||||||
Just spi -> helper RevDeps spi
|
Just spi -> helper RevDeps spi
|
||||||
|
|
||||||
getSnapshotPackageRevDepsR :: SnapName -> PackageNameVersion -> Handler Html
|
getSnapshotPackageRevDepsR :: SnapName -> PackageNameVersion -> Handler Html
|
||||||
getSnapshotPackageRevDepsR snapName pnv =
|
getSnapshotPackageRevDepsR snapName pnv = do
|
||||||
|
cacheSeconds $ 60 * 60
|
||||||
pnvToSnapshotPackageInfo snapName pnv (\_ _ -> notFound) $ \isSameVersion spi ->
|
pnvToSnapshotPackageInfo snapName pnv (\_ _ -> notFound) $ \isSameVersion spi ->
|
||||||
if isSameVersion
|
if isSameVersion
|
||||||
then helper RevDeps spi
|
then helper RevDeps spi
|
||||||
|
|||||||
@ -12,6 +12,7 @@ getPackageListR :: Handler Html
|
|||||||
getPackageListR =
|
getPackageListR =
|
||||||
track "Handler.PackageList.getPackageListR" $
|
track "Handler.PackageList.getPackageListR" $
|
||||||
defaultLayout $ do
|
defaultLayout $ do
|
||||||
|
cacheSeconds $ 60 * 60 * 2
|
||||||
setTitle "Package list"
|
setTitle "Package list"
|
||||||
packages <- getAllPackages
|
packages <- getAllPackages
|
||||||
$(widgetFile "package-list")
|
$(widgetFile "package-list")
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import Yesod.Sitemap
|
|||||||
|
|
||||||
getSitemapR :: Handler TypedContent
|
getSitemapR :: Handler TypedContent
|
||||||
getSitemapR = track "Handler.Sitemap.getSitemapR" $ sitemap $ do
|
getSitemapR = track "Handler.Sitemap.getSitemapR" $ sitemap $ do
|
||||||
|
cacheSeconds $ 60 * 60 * 6
|
||||||
priority 1.0 $ HomeR
|
priority 1.0 $ HomeR
|
||||||
|
|
||||||
priority 0.9 $ OldSnapshotBranchR LtsBranch []
|
priority 0.9 $ OldSnapshotBranchR LtsBranch []
|
||||||
|
|||||||
@ -22,6 +22,7 @@ snapshotsPerPage = 50
|
|||||||
-- inclined, or create a single monolithic file.
|
-- inclined, or create a single monolithic file.
|
||||||
getAllSnapshotsR :: Handler TypedContent
|
getAllSnapshotsR :: Handler TypedContent
|
||||||
getAllSnapshotsR = track "Handler.Snapshots.getAllSnapshotsR" $ do
|
getAllSnapshotsR = track "Handler.Snapshots.getAllSnapshotsR" $ do
|
||||||
|
cacheSeconds $ 60 * 60 * 6
|
||||||
now' <- getCurrentTime
|
now' <- getCurrentTime
|
||||||
currentPageMay <- lookupGetParam "page"
|
currentPageMay <- lookupGetParam "page"
|
||||||
let currentPage :: Int
|
let currentPage :: Int
|
||||||
|
|||||||
@ -22,6 +22,7 @@ import Stackage.Snapshot.Diff
|
|||||||
getStackageHomeR :: SnapName -> Handler TypedContent
|
getStackageHomeR :: SnapName -> Handler TypedContent
|
||||||
getStackageHomeR name =
|
getStackageHomeR name =
|
||||||
track "Handler.StackageHome.getStackageHomeR" $ do
|
track "Handler.StackageHome.getStackageHomeR" $ do
|
||||||
|
cacheSeconds $ 60 * 60 * 12
|
||||||
Entity sid snapshot <- lookupSnapshot name >>= maybe notFound return
|
Entity sid snapshot <- lookupSnapshot name >>= maybe notFound return
|
||||||
previousSnapName <- fromMaybe name . map snd <$> snapshotBefore (snapshotName snapshot)
|
previousSnapName <- fromMaybe name . map snd <$> snapshotBefore (snapshotName snapshot)
|
||||||
let hoogleForm =
|
let hoogleForm =
|
||||||
@ -51,6 +52,7 @@ instance ToJSON SnapshotInfo where
|
|||||||
|
|
||||||
getStackageDiffR :: SnapName -> SnapName -> Handler TypedContent
|
getStackageDiffR :: SnapName -> SnapName -> Handler TypedContent
|
||||||
getStackageDiffR name1 name2 = track "Handler.StackageHome.getStackageDiffR" $ do
|
getStackageDiffR name1 name2 = track "Handler.StackageHome.getStackageDiffR" $ do
|
||||||
|
cacheSeconds $ 60 * 60 * 48
|
||||||
Entity sid1 _ <- lookupSnapshot name1 >>= maybe notFound return
|
Entity sid1 _ <- lookupSnapshot name1 >>= maybe notFound return
|
||||||
Entity sid2 _ <- lookupSnapshot name2 >>= maybe notFound return
|
Entity sid2 _ <- lookupSnapshot name2 >>= maybe notFound return
|
||||||
let fixit = sortOn Down . map (snapshotName . entityVal)
|
let fixit = sortOn Down . map (snapshotName . entityVal)
|
||||||
@ -66,6 +68,7 @@ getStackageDiffR name1 name2 = track "Handler.StackageHome.getStackageDiffR" $ d
|
|||||||
|
|
||||||
getStackageCabalConfigR :: SnapName -> Handler TypedContent
|
getStackageCabalConfigR :: SnapName -> Handler TypedContent
|
||||||
getStackageCabalConfigR name = track "Handler.StackageHome.getStackageCabalConfigR" $ do
|
getStackageCabalConfigR name = track "Handler.StackageHome.getStackageCabalConfigR" $ do
|
||||||
|
cacheSeconds $ 60 * 60 * 48
|
||||||
Entity sid _ <- lookupSnapshot name >>= maybe notFound return
|
Entity sid _ <- lookupSnapshot name >>= maybe notFound return
|
||||||
render <- getUrlRender
|
render <- getUrlRender
|
||||||
|
|
||||||
@ -157,6 +160,7 @@ getSnapshotPackagesR name = track "Handler.StackageHome.getSnapshotPackagesR" $
|
|||||||
|
|
||||||
getDocsR :: SnapName -> Handler Html
|
getDocsR :: SnapName -> Handler Html
|
||||||
getDocsR name = track "Handler.StackageHome.getDocsR" $ do
|
getDocsR name = track "Handler.StackageHome.getDocsR" $ do
|
||||||
|
cacheSeconds $ 60 * 60 * 48
|
||||||
Entity sid _ <- lookupSnapshot name >>= maybe notFound return
|
Entity sid _ <- lookupSnapshot name >>= maybe notFound return
|
||||||
mlis <- getSnapshotModules sid
|
mlis <- getSnapshotModules sid
|
||||||
render <- getUrlRender
|
render <- getUrlRender
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user