Files
Jakob Ackermann aab08b4c28 [document-updater] remove doc lock from per-doc operations (#35696)
GitOrigin-RevId: c45c1dbf11049c0fab8a7d788006a698ede0d510
2026-09-17 11:34:14 +00:00

21 lines
693 B
JavaScript

const Settings = require('@overleaf/settings')
const redis = require('@overleaf/redis-wrapper')
const rclient = redis.createClient(Settings.redis.lock)
const keys = Settings.redis.lock.key_schema
const RedisLocker = require('@overleaf/redis-wrapper/RedisLocker')
// Project level lock used to serialise processing of a project's pending
// updates (the `BlockingProject:{project_id}` key).
module.exports = new RedisLocker({
rclient,
getKey(projectId) {
return keys.projectBlockingKey({ project_id: projectId })
},
wrapTimeoutError(err, projectId) {
err.project_id = projectId
return err
},
metricsPrefix: 'project',
lockTTLSeconds: Settings.redisLockTTLSeconds,
})