From 9adeee1c75411aca030b6c678bc9f08c1303db3a Mon Sep 17 00:00:00 2001 From: mcmlxxix <> Date: Fri, 12 Mar 2010 20:11:10 +0000 Subject: [PATCH] change logging to LOG_DEBUG level (stop spamming the terminal server console) allow 1 second gap when comparing file dates --- exec/load/commclient.js | 47 +++++++++++++++++++++++------------------ exec/load/filesync.js | 12 +++++++++-- 2 files changed, 37 insertions(+), 22 deletions(-) diff --git a/exec/load/commclient.js b/exec/load/commclient.js index 91999e054d..956b01dc7d 100644 --- a/exec/load/commclient.js +++ b/exec/load/commclient.js @@ -73,7 +73,7 @@ function ServiceConnection(id) } if(!data.scope) { - log("scope undefined"); + log(LOG_DEBUG,"scope undefined"); return false; } var packet=data.scope + this.session_id + "" + data.toSource() + "\r\n"; @@ -89,7 +89,7 @@ function ServiceConnection(id) var filesock=new Socket(); filesock.connect(hub,port,connection_timeout); if(!filesock.is_connected) { - log("error connecting to service"); + log(LOG_DEBUG,"error connecting to service"); return false; } @@ -99,7 +99,7 @@ function ServiceConnection(id) var data=filesock.recvline(1024,connection_timeout); if(data!=null) { - log(data); + log(LOG_DEBUG,data); data=parse_query(data); var response=data[1]; var file=data[2]; @@ -118,11 +118,11 @@ function ServiceConnection(id) break; default: filesock.close(); - log("unknown response: " + response); + log(LOG_DEBUG,"unknown response: " + response); break; } } else { - log("transfer timed out: " + (file?file:remote_file)); + log(LOG_DEBUG,"transfer timed out: " + (file?file:remote_file)); filesock.close(); } } @@ -137,7 +137,7 @@ function ServiceConnection(id) var filesock=new Socket(); filesock.connect(hub,port,connection_timeout); if(!filesock.is_connected) { - log("error connecting to service"); + log(LOG_DEBUG,"error connecting to service"); return false; } @@ -156,24 +156,24 @@ function ServiceConnection(id) switch(response) { case "#ok": - log("sending file: " + filename); + log(LOG_DEBUG,"sending file: " + filename); filesock.sendfile(files[f]); filesock.send("#eof\r\n"); - log("file sent: " + filename); + log(LOG_DEBUG,"file sent: " + filename); break; case "#skip": - log("skipping file"); + log(LOG_DEBUG,"skipping file"); break; case "#abort": - log("aborting query"); + log(LOG_DEBUG,"aborting query"); return false; default: - log("unknown response: " + response); + log(LOG_DEBUG,"unknown response: " + response); filesock.send("#abort\r\n"); return false; } } else { - log("query timed out"); + log(LOG_DEBUG,"query timed out"); break; } } @@ -183,16 +183,22 @@ function ServiceConnection(id) } this.close=function() { - log("terminating service connection"); + log(LOG_DEBUG,"terminating service connection"); sock.close(); } + function compare_dates(local,remote) + { + //will treat numbers with a difference of 1 or 0 as the same, due to issues with some file systems + if(Math.abs(local-remote)<=1) return true; + else return false; + } function receive_file(socket,session_id,filename,filedate) { filename=working_dir+filename; - if(file_date(filename)==filedate) + if(compare_dates(file_date(filename),filedate)) { - log("skipping file: " + file_getname(filename)); + log(LOG_DEBUG,"skipping file: " + file_getname(filename)); socket.send(file_sync + session_id + "#skip\r\n"); return false; } @@ -200,7 +206,7 @@ function ServiceConnection(id) socket.send(file_sync + session_id + "#ok\r\n"); var file=new File(filename + ".tmp"); file.open('w',false); - log("receiving file: " + file_getname(filename)); + log(LOG_DEBUG,"receiving file: " + file_getname(filename)); while(socket.is_connected) { var data=socket.recvline(1024,connection_timeout); @@ -209,13 +215,14 @@ function ServiceConnection(id) switch(data) { case "#abort": - log("transfer aborted"); + log(LOG_DEBUG,"transfer aborted"); file.close(); file_remove(file.name); return false; case "#eof": - log("file received: " + filename); + log(LOG_DEBUG,"file received: " + filename); file.close(); + if(file_exists(filename+".bck")) file_remove(filename+".bck"); file_rename(filename,filename+".bck"); file_rename(file.name,filename); file_utime(filename,time(),filedate); @@ -225,13 +232,13 @@ function ServiceConnection(id) break; } } else { - log("transfer timed out: " + file_getname(filename)); + log(LOG_DEBUG,"transfer timed out: " + file_getname(filename)); file.close(); file_remove(file.name); return false; } } - log("socket connection error"); + log(LOG_DEBUG,"socket connection error"); file.close(); file_remove(file.name); return false; diff --git a/exec/load/filesync.js b/exec/load/filesync.js index 04ef53c5ad..fa490288aa 100644 --- a/exec/load/filesync.js +++ b/exec/load/filesync.js @@ -138,7 +138,7 @@ function sync_local(session_id,dir,filemask) function receive_file(session_id,dir,filename,filedate) { fname=dir+filename; - if(file_date(fname)==filedate) + if(compare_dates(file_date(fname),filedate)) { sock.send("@" + session_id + "#skip\r\n"); return false; @@ -163,6 +163,7 @@ function receive_file(session_id,dir,filename,filedate) case "#eof": log("file received: " + filename); file.close(); + if(file_exists(fname+".bck")) file_remove(fname+".bck"); file_rename(fname,fname+".bck"); file_rename(file.name,fname); file_utime(filename,time(),filedate); @@ -173,7 +174,6 @@ function receive_file(session_id,dir,filename,filedate) break; } } else { - log(sock.error); log("transfer timed out: " + filename); file.close(); file_remove(file.name); @@ -184,6 +184,14 @@ function receive_file(session_id,dir,filename,filedate) file_remove(file.name); return false; } +function compare_dates(local,remote) +{ + //will treat numbers with a difference of 1 or 0 as the same, due to issues with some file systems + if(Math.abs(local-remote)<=1) return true; + //will reject files with a time_t older than the local copy + if(local>remote) return true; + else return false; +} function hub_route(hub_address,hub_port) { log("routing data to hub"); -- GitLab