fix cron addStorage calculation
parent
0c3c183ae8
commit
26572e480b
9
cron.js
9
cron.js
|
@ -92,8 +92,8 @@ const deleteVideo = (x) => {
|
|||
const deleteFileBinEntry = (x) => {
|
||||
postMessage({f:'s.deleteFileBinEntry',file:x})
|
||||
}
|
||||
const setDiskUsedForGroup = (groupKey,size,target) => {
|
||||
postMessage({f:'s.setDiskUsedForGroup', ke: groupKey, size: size, target: target})
|
||||
const setDiskUsedForGroup = (groupKey,size,target,videoRow) => {
|
||||
postMessage({f:'s.setDiskUsedForGroup', ke: groupKey, size: size, target: target, videoRow: videoRow})
|
||||
}
|
||||
const getVideoDirectory = function(e){
|
||||
if(e.mid&&!e.id){e.id=e.mid};
|
||||
|
@ -185,6 +185,7 @@ const checkFilterRules = function(v){
|
|||
})
|
||||
}
|
||||
const deleteVideosByDays = async (v,days,addedQueries) => {
|
||||
const groupKey = v.ke;
|
||||
const whereQuery = [
|
||||
['ke','=',v.ke],
|
||||
['time','<', sqlDate(days+' DAY')],
|
||||
|
@ -207,7 +208,8 @@ const deleteVideosByDays = async (v,days,addedQueries) => {
|
|||
const filename = formattedTime(row.time) + '.' + row.ext
|
||||
try{
|
||||
await fs.promises.unlink(dir + filename)
|
||||
clearSize += row.size / 1048576
|
||||
const fileSizeMB = row.size / 1048576;
|
||||
setDiskUsedForGroup(groupKey,-fileSizeMB,null,row)
|
||||
sendToWebSocket({
|
||||
f: 'video_delete',
|
||||
filename: filename + '.' + row.ext,
|
||||
|
@ -227,7 +229,6 @@ const deleteVideosByDays = async (v,days,addedQueries) => {
|
|||
where: whereQuery
|
||||
})
|
||||
affectedRows = deleteResponse.rows || 0
|
||||
setDiskUsedForGroup(v.ke,-clearSize)
|
||||
}
|
||||
return {
|
||||
ok: true,
|
||||
|
|
|
@ -987,7 +987,22 @@ module.exports = function(s,config,lang,io){
|
|||
s.deleteFileBinEntry(d.file)
|
||||
break;
|
||||
case's.setDiskUsedForGroup':
|
||||
s.setDiskUsedForGroup(d.ke,d.size,d.target || undefined)
|
||||
function doOnMain(){
|
||||
s.setDiskUsedForGroup(d.ke,d.size,d.target || undefined)
|
||||
}
|
||||
if(d.videoRow){
|
||||
let storageIndex = s.getVideoStorageIndex(d.videoRow);
|
||||
if(storageIndex){
|
||||
s.setDiskUsedForGroupAddStorage(d.ke,{
|
||||
size: d.size,
|
||||
storageIndex: storageIndex
|
||||
})
|
||||
}else{
|
||||
doOnMain()
|
||||
}
|
||||
}else{
|
||||
doOnMain()
|
||||
}
|
||||
break;
|
||||
case'start':case'end':
|
||||
d.mid='_cron';s.userLog(d,{type:'cron',msg:d.msg})
|
||||
|
|
|
@ -608,9 +608,11 @@ module.exports = function(s,config,lang){
|
|||
}
|
||||
s.getVideoStorageIndex = function(video){
|
||||
try{
|
||||
var details = s.parseJSON(video.details) || {}
|
||||
var storageId = details.storageId
|
||||
if(s.group[video.ke] && s.group[video.ke].activeMonitors[video.id] && s.group[video.ke].activeMonitors[video.id].addStorageId)storageId = s.group[video.ke].activeMonitors[video.id].addStorageId
|
||||
const monitorId = video.id || video.mid
|
||||
const details = s.parseJSON(video.details) || {}
|
||||
const storageId = details.storageId
|
||||
const activeMonitor = s.group[video.ke] && s.group[video.ke].activeMonitors[monitorId] ? s.group[video.ke].activeMonitors[monitorId] : null;
|
||||
if(activeMonitor && activeMonitor.addStorageId)storageId = activeMonitor.addStorageId;
|
||||
if(storageId){
|
||||
return s.group[video.ke].addStorageUse[storageId]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue