package sihl-cache
Cache service implementations for Sihl
Install
Dune Dependency
Authors
Maintainers
Sources
1.0.0-rc3.tar.gz
md5=a071020e3532eac75c61c2b064a8fd00
sha512=2225e1352344d86b9299f599ae3f9d5576e78ce88663eae6201bc50b4819dd2e10070aeba5c44b75b50429791754df0a7ee27cd9889132739a8a93cdd7221e8e
doc/src/sihl-cache/sihl_cache.ml.html
Source file sihl_cache.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
let log_src = Logs.Src.create ("sihl.service." ^ Sihl.Contract.Cache.name) module Logs = (val Logs.src_log log_src : Logs.LOG) module MakeSql (Repo : Repo_sql.Sig) : Sihl.Contract.Cache.Sig = struct let find = Repo.find let set (k, v) = match v with | Some v -> (match%lwt find k with | Some _ -> Repo.update (k, v) | None -> Repo.insert (k, v)) | None -> (match%lwt find k with | Some _ -> Repo.delete k | None -> (* nothing to do *) Lwt.return ()) ;; (* Lifecycle *) let start () = Lwt.return () let stop () = Lwt.return () let lifecycle = Sihl.Container.create_lifecycle Sihl.Contract.Cache.name ~dependencies:(fun () -> Repo.lifecycles) ~start ~stop ;; let register () = Repo.register_migration (); Repo.register_cleaner (); Sihl.Container.Service.create lifecycle ;; end module PostgreSql = MakeSql (Repo_sql.MakePostgreSql (Sihl.Database.Migration.PostgreSql)) module MariaDb = MakeSql (Repo_sql.MakeMariaDb (Sihl.Database.Migration.MariaDb))
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>