Browse Source

基础服务添加了自动清理

zoule 1 year ago
parent
commit
2e93c692ce

+ 33 - 1
Service/CheckServer/MainForm.cs

@@ -132,6 +132,7 @@ namespace CheckServer
             });
             bool preSucceed = false;
             long id = 0;
+            _ = ClearLocalFile();
             while (!this.Disposing)
             {
                 try
@@ -218,7 +219,38 @@ namespace CheckServer
                 await Task.Delay(6000);
             }
         }
-
+        //清理10分钟之前的文件
+        private async Task ClearLocalFile()
+        {
+            while (true)
+            {
+                try
+                {
+                    var uploadFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot");
+                    var files = Directory.EnumerateFiles(uploadFolder);
+                    foreach (var file in files)
+                    {
+                        FileInfo info = new FileInfo(file);
+                        if (info.CreationTime < DateTime.Now.AddMinutes(-10))
+                        {
+                            try
+                            {
+                                info.Delete();
+                            }
+                            catch (Exception ex)
+                            {
+                                await LogHelper.Error("清理wwwroot历史文件异常", ex);
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    await LogHelper.Error("清理wwwroot历史文件异常", ex);
+                }
+                await Task.Delay(60 * 1000);
+            }
+        }
         private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
         {
             try

+ 33 - 1
Service/CpuCgServer/MainForm.cs

@@ -34,7 +34,38 @@ namespace CpuCgServer
                 { }
             };
         }
-
+        //清理10分钟之前的文件
+        private async Task ClearLocalFile()
+        {
+            while (true)
+            {
+                try
+                {
+                    var uploadFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot");
+                    var files = Directory.EnumerateFiles(uploadFolder);
+                    foreach (var file in files)
+                    {
+                        FileInfo info = new FileInfo(file);
+                        if (info.CreationTime < DateTime.Now.AddMinutes(-10))
+                        {
+                            try
+                            {
+                                info.Delete();
+                            }
+                            catch (Exception ex)
+                            {
+                                await LogHelper.Error("清理wwwroot历史文件异常", ex);
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    await LogHelper.Error("清理wwwroot历史文件异常", ex);
+                }
+                await Task.Delay(60 * 1000);
+            }
+        }
         private async void MainForm_LoadAsync(object sender, EventArgs e)
         {
             if (Debugger.IsAttached)//结束已启动的进程,方便调试
@@ -132,6 +163,7 @@ namespace CpuCgServer
             });
             bool preSucceed = false;
             long id = 0;
+            _=ClearLocalFile();
             while (!this.Disposing)
             {
                 try

+ 33 - 1
Service/GpuCgServer/MainForm.cs

@@ -34,7 +34,38 @@ namespace GpuCgServer
                 { }
             };
         }
-
+        //清理10分钟之前的文件
+        private async Task ClearLocalFile()
+        {
+            while (true)
+            {
+                try
+                {
+                    var uploadFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot");
+                    var files = Directory.EnumerateFiles(uploadFolder);
+                    foreach (var file in files)
+                    {
+                        FileInfo info = new FileInfo(file);
+                        if (info.CreationTime < DateTime.Now.AddMinutes(-10))
+                        {
+                            try
+                            {
+                                info.Delete();
+                            }
+                            catch (Exception ex)
+                            {
+                                await LogHelper.Error("清理wwwroot历史文件异常", ex);
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    await LogHelper.Error("清理wwwroot历史文件异常", ex);
+                }
+                await Task.Delay(60 * 1000);
+            }
+        }
         private async void MainForm_LoadAsync(object sender, EventArgs e)
         {
             if (Debugger.IsAttached)//结束已启动的进程,方便调试
@@ -132,6 +163,7 @@ namespace GpuCgServer
             });
             bool preSucceed = false;
             long id = 0;
+            _ = ClearLocalFile();
             while (!this.Disposing)
             {
                 try

+ 2 - 1
XdCxRhDW.App/MainForm.cs

@@ -350,8 +350,9 @@ namespace XdCxRhDW
                             {
                                 info.Delete();
                             }
-                            catch
+                            catch(Exception ex)
                             {
+                                await LogHelper.Error("清理wwwroot历史文件异常", ex);
                             }
                         }
                     }