SplitTestCache.mjs 632 B

123456789101112131415161718192021222324252627
  1. import Metrics from '@overleaf/metrics'
  2. import SplitTestManager from './SplitTestManager.mjs'
  3. import { CacheLoader } from 'cache-flow'
  4. class SplitTestCache extends CacheLoader {
  5. constructor() {
  6. super('split-test', {
  7. expirationTime: 60, // 1min in seconds
  8. })
  9. }
  10. async load() {
  11. Metrics.inc('split_test_get_split_test_from_mongo', 1, {})
  12. const splitTests = await SplitTestManager.getRuntimeTests()
  13. return new Map(splitTests.map(splitTest => [splitTest.name, splitTest]))
  14. }
  15. serialize(value) {
  16. return value
  17. }
  18. deserialize(value) {
  19. return value
  20. }
  21. }
  22. export default new SplitTestCache()