1
Some checks failed
Docker Build & Deploy / Build Docker Image (push) Failing after 8s
Docker Build & Deploy / Deploy to Production (push) Has been skipped

This commit is contained in:
孙诚
2025-03-07 12:05:39 +08:00
parent 8c01529fc9
commit 41a69f44d3
3 changed files with 49 additions and 1 deletions

View File

@@ -0,0 +1,6 @@
namespace Interface.Jobs;
public interface IDiskMonitorRegistry
{
void Job();
}

View File

@@ -0,0 +1,31 @@
using System.Diagnostics;
using FluentScheduler;
using Interface.Jobs;
namespace Service.Jobs;
public class DiskMonitorRegistry : Registry, IDiskMonitorRegistry
{
public void Job()
{
// 执行 cmd 命令 获取执行结果
var command = "df -h";
var process = new Process
{
StartInfo = new ()
{
FileName = "/bin/bash",
Arguments = $"-c \"{command}\"",
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
}
};
process.Start();
var result = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Console.WriteLine(result);
}
}

View File

@@ -12,6 +12,7 @@ public class JobTriggerController : BaseController
private readonly IStartupRegistry _startupRegistry;
private readonly IShutdownRegistry _shutdownRegistry;
private readonly IChineseNfoRegistry _chineseNfoRegistry;
private readonly IDiskMonitorRegistry _diskMonitorRegistry;
/// <summary>
/// ctor
@@ -23,7 +24,8 @@ public class JobTriggerController : BaseController
IRSyncTaskRegistry rSyncTaskRegistry,
IStartupRegistry startupRegistry,
IShutdownRegistry shutdownRegistry,
IChineseNfoRegistry chineseNfoRegistry)
IChineseNfoRegistry chineseNfoRegistry,
IDiskMonitorRegistry diskMonitorRegistry)
{
_logTotalNotifyJobRegistry = logTotalNotifyJobRegistry;
_diskActionMonitorRegistry = diskActionMonitorRegistry;
@@ -32,6 +34,7 @@ public class JobTriggerController : BaseController
_startupRegistry = startupRegistry;
_shutdownRegistry = shutdownRegistry;
_chineseNfoRegistry = chineseNfoRegistry;
_diskMonitorRegistry = diskMonitorRegistry;
}
[HttpGet]
@@ -98,4 +101,12 @@ public class JobTriggerController : BaseController
return "OK";
}
[HttpGet]
public string DiskMonitor()
{
_diskMonitorRegistry.Job();
return "OK";
}
}