mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-01-11 19:58:28 +01:00
commit
148cc8258c
@ -14,6 +14,7 @@ module Stackage.Database.Cron
|
||||
) where
|
||||
|
||||
import Conduit
|
||||
import Control.DeepSeq
|
||||
import Control.Lens ((.~))
|
||||
import qualified Control.Monad.Trans.AWS as AWS (paginate)
|
||||
import Control.SingleRun
|
||||
@ -274,7 +275,7 @@ makeCorePackageGetter _compiler pname ver =
|
||||
Just (gpd, treeId) -> do
|
||||
mTree <- run $ getEntity treeId
|
||||
let pkgInfo = (mTree, Just hackageCabalId, pid, gpd)
|
||||
writeIORef pkgInfoRef $ Just pkgInfo
|
||||
gpd `deepseq` writeIORef pkgInfoRef $ Just pkgInfo
|
||||
pure pkgInfo
|
||||
Nothing -> do
|
||||
(cabalBlob, mTree) <-
|
||||
@ -283,7 +284,7 @@ makeCorePackageGetter _compiler pname ver =
|
||||
getTreeForKey (packageTreeKey (htrPackage htr)))
|
||||
let gpd = parseCabalBlob cabalBlob
|
||||
pkgInfo = (mTree, Just hackageCabalId, pid, gpd)
|
||||
writeIORef pkgInfoRef $ Just pkgInfo
|
||||
gpd `deepseq` writeIORef pkgInfoRef $ Just pkgInfo
|
||||
pure pkgInfo
|
||||
pure $ Just getMemoPackageInfo
|
||||
where
|
||||
@ -303,6 +304,7 @@ addPantryPackage sid compiler isHidden flags (PantryPackage pc treeKey) = do
|
||||
cache = scCacheCabalFiles env
|
||||
let blobKeyToInt = fromIntegral . unSqlBackendKey . unBlobKey
|
||||
let updateCacheGPD blobId gpd =
|
||||
gpd `deepseq`
|
||||
atomicModifyIORef' gpdCachedRef (\cacheMap -> (IntMap.insert blobId gpd cacheMap, gpd))
|
||||
let getCachedGPD treeCabal =
|
||||
\case
|
||||
@ -400,8 +402,8 @@ checkForDocs snapshotId snapName = do
|
||||
_ -> pure Nothing
|
||||
|
||||
data SnapshotFileInfo = SnapshotFileInfo
|
||||
{ sfiSnapName :: !SnapName
|
||||
, sfiUpdatedOn :: !UTCTime
|
||||
{ sfiSnapName :: !SnapName
|
||||
, sfiUpdatedOn :: !UTCTime
|
||||
, sfiSnapshotFileGetter :: !(RIO StackageCron (Maybe SnapshotFile))
|
||||
}
|
||||
|
||||
|
||||
@ -440,10 +440,8 @@ getSnapshotPackagePageInfo ::
|
||||
GetStackageDatabase env m => SnapshotPackageInfo -> Int -> m SnapshotPackagePageInfo
|
||||
getSnapshotPackagePageInfo spi maxDisplayedDeps =
|
||||
run $ do
|
||||
mhciLatest <-
|
||||
case spiOrigin spi of
|
||||
Hackage -> getHackageLatestVersion $ spiPackageName spi
|
||||
_ -> pure Nothing
|
||||
mhciLatest <- getHackageLatestVersion $ spiPackageName spi
|
||||
-- TODO: check for `spiOrigin spi` once other than `Hackage` are implemented
|
||||
forwardDepsCount <- getForwardDepsCount spi
|
||||
reverseDepsCount <- getReverseDepsCount spi
|
||||
forwardDeps <-
|
||||
@ -554,7 +552,7 @@ getSnapshotPackageLatestVersion pname =
|
||||
run (snapshotPackageInfoQuery $ \_sp s pn v spiQ -> do
|
||||
where_ (pn ^. PackageNameName ==. val pname)
|
||||
orderBy
|
||||
[ desc (stringToArray (v ^. VersionVersion) (val ("." :: String)))
|
||||
[ desc (versionArray v)
|
||||
, desc (s ^. SnapshotCreated)
|
||||
]
|
||||
limit 1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user