Prevent possible download counter race condition
This commit is contained in:
parent
ee45a835be
commit
f94918bebd
|
@ -34,7 +34,7 @@ module.exports = async function(req, res) {
|
|||
if (dl >= dlimit) {
|
||||
await storage.del(id);
|
||||
} else {
|
||||
await storage.setField(id, 'dl', dl);
|
||||
await storage.incrementField(id, 'dl');
|
||||
}
|
||||
} catch (e) {
|
||||
log.info('StorageError:', id);
|
||||
|
|
|
@ -62,6 +62,10 @@ class DB {
|
|||
this.redis.hset(id, key, value);
|
||||
}
|
||||
|
||||
incrementField(id, key, increment = 1) {
|
||||
this.redis.hincrby(id, key, increment);
|
||||
}
|
||||
|
||||
async del(id) {
|
||||
const filePath = await this.getPrefixedId(id);
|
||||
this.storage.del(filePath);
|
||||
|
|
Loading…
Reference in New Issue