Commit b6dbd966 张东亮

优化图片删除和报警灯

1 个父辈 e8dc6ad0
......@@ -456,51 +456,41 @@ namespace OnlineStore.DeviceLibrary
}
return dire + iamgeName;
}
static Task deleteTask = null;
static void deleteFiles(string dire)
{
if((deleteTask ==null)|| (deleteTask != null && deleteTask.IsCompleted))
try
{
deleteTask = Task.Factory.StartNew(() =>
string[] imgFiles = Directory.GetFiles(dire);
if (imgFiles.Length <= CntImgs)
{
try
return;
}
FileInfo fileInfo;
List<FileInfo> files = new List<FileInfo>();
foreach (var item in imgFiles)
{
fileInfo = new FileInfo(item);
files.Add(fileInfo);
}
do
{
FileInfo oldFile = files[0];
foreach (var item in files)
{
string[] imgFiles = Directory.GetFiles(dire);
if (imgFiles.Length > CntImgs)
if ((item.CreationTime - oldFile.CreationTime).TotalSeconds < 0)
{
FileInfo fileInfo;
List<FileInfo> files = new List<FileInfo>();
foreach (var item in imgFiles)
{
fileInfo = new FileInfo(item);
files.Add(fileInfo);
}
do
{
FileInfo oldFile = files[0];
foreach (var item in files)
{
if((item.CreationTime-oldFile.CreationTime).Seconds<0)
{
oldFile=item;
}
}
oldFile?.Delete();
}
while (files.Count > CntImgs) ;
oldFile = item;
}
}
catch (Exception ex)
{
LogUtil.error("删除文件失败", ex);
}
oldFile?.Delete();
files.Remove(oldFile);
}
while (files.Count > CntImgs);
});
}
else
catch (Exception ex)
{
LogUtil.info("延迟删除文件夹内的文件:"+dire);
LogUtil.error("删除文件失败", ex);
}
}
public static void DelImg(string deviceName, string imgPath)
......
......@@ -769,16 +769,16 @@ namespace OnlineStore.DeviceLibrary
}
protected void ClearSpecifiedAlarm(string msg)
{
if (WarnMsg.Contains(msg))
{
SetWarnMsg("");
}
if (WarnMsg.Contains(msg) && alarmType.Equals(AlarmType.AlarmMsg))
{
LogUtil.info(Name + "清理异常消息报警【" + WarnMsg + "】 ");
alarmType = AlarmType.None;
SetWarnMsg("");
}
if (WarnMsg.Contains(msg))
{
SetWarnMsg("");
}
}
protected void ClearTimeoutAlarm(string msg)
{
......
......@@ -101,15 +101,57 @@ namespace OnlineStore.XLRStore
{
System.Net.ServicePointManager.DefaultConnectionLimit = 512;
XmlConfigurator.Configure();
// deleteFiles(Application.StartupPath + @"\test\");
//deleteFiles(Application.StartupPath + @"\test1\");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ManagerUtil.Init();
Application.Run(new FrmXLRStore());
}
}
static void deleteFiles(string dire)
{
int CntImgs = 2;
try
{
string[] imgFiles = Directory.GetFiles(dire);
if (imgFiles.Length <= CntImgs)
{
return;
}
FileInfo fileInfo;
List<FileInfo> files = new List<FileInfo>();
foreach (var item in imgFiles)
{
fileInfo = new FileInfo(item);
files.Add(fileInfo);
}
do
{
FileInfo oldFile = files[0];
foreach (var item in files)
{
if ((item.CreationTime - oldFile.CreationTime).TotalSeconds < 0)
{
oldFile = item;
}
}
oldFile?.Delete();
files.Remove(oldFile);
}
while (files.Count > CntImgs);
}
catch (Exception ex)
{
LogUtil.error("删除文件失败", ex);
}
}
private static void CurrentDomain_FirstChanceException(object sender, System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs e)
{
// LogUnhandledException("CurrentDomain_FirstChanceException", e.Exception.StackTrace);
// LogUnhandledException("CurrentDomain_FirstChanceException", e.Exception.StackTrace);
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
......@@ -126,7 +168,7 @@ namespace OnlineStore.XLRStore
{
//这里可以进一步地写日志
LogUtil.error("【" + type + "】" + exceptionobj);
MiniDump.Write(Application.StartupPath +"\\ErrorDump\\"+ DateTime.Now.ToString("yyyyMMddHHmmss") + "-XLR-error.dmp");
MiniDump.Write(Application.StartupPath + "\\ErrorDump\\" + DateTime.Now.ToString("yyyyMMddHHmmss") + "-XLR-error.dmp");
MessageBox.Show(exceptionobj, type);
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!