Flood Controller for log stream

merge-requests/57/head
Moe 2019-03-06 18:25:15 -08:00
parent d6f83fff27
commit 5f73f2806e
2 changed files with 22 additions and 2 deletions

View File

@ -57,6 +57,27 @@ $(document).ready(function(e){
}).each(function() { $('.link-monitors-list[auth="'+user.auth_token+'"]').append($(this)); });
})
}
//log stream writer
$.logWriter = {}
$.logWriter.floodTimeout = null
$.logWriter.floodCounter = 0
$.logWriter.draw = function(id,d,user){
if($.logWriter.floodLock)return $.ccio.log('logWriter.floodLock : Log was dropped');
if($.logWriter.floodTimeout){
++$.logWriter.floodCounter
}
if($.logWriter.floodCounter > 10){
$.logWriter.floodLock = setTimeout(function(){
delete($.logWriter.floodLock)
},10000)
}
clearTimeout($.logWriter.floodTimeout)
$.logWriter.floodTimeout = setTimeout(function(){
delete($.logWriter.floodTimeout)
$.logWriter.floodCounter = 0
},1000)
$.ccio.tm(4,d,'#logs,'+id+'.monitor_item .logs:visible,'+id+'#add_monitor:visible .logs',user)
}
//open all monitors
$('[class_toggle="list-blocks"][data-target="#left_menu"]').dblclick(function(){
$('#monitors_list .monitor_block').each(function(n,v){

View File

@ -131,8 +131,7 @@ $.ccio.globalWebsocket=function(d,user){
$.ccio.pm(0,d,null,user)
break;
case'log':
var attr = '[mid="'+d.mid+'"][ke="'+d.ke+'"][auth="'+user.auth_token+'"]'
$.ccio.tm(4,d,'#logs,'+attr+'.monitor_item .logs:visible,'+attr+'#add_monitor:visible .logs',user)
$.logWriter.draw('[mid="'+d.mid+'"][ke="'+d.ke+'"][auth="'+user.auth_token+'"]',d,user)
break;
case'camera_cpu_usage':
var el = $('.monitor_item[auth="'+user.auth_token+'"][ke="'+d.ke+'"][mid="'+d.id+'"] .camera_cpu_usage')