31 lines
902 B
C#
31 lines
902 B
C#
|
using CliWrap;
|
||
|
|
||
|
namespace RAIDAlert;
|
||
|
|
||
|
public class Watchdog : BackgroundService
|
||
|
{
|
||
|
private const string HpCliUtil = "hpssacli.exe";
|
||
|
private const string PcBeeperUtil = "pc-beeper.exe";
|
||
|
private readonly ILogger<Watchdog> _logger;
|
||
|
|
||
|
public Watchdog(ILogger<Watchdog> logger)
|
||
|
{
|
||
|
_logger = logger;
|
||
|
}
|
||
|
|
||
|
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||
|
{
|
||
|
string hpSsaCli = Path.Combine(Environment.ProcessPath!, HpCliUtil);
|
||
|
string pcBeeper = Path.Combine(Environment.ProcessPath!, PcBeeperUtil);
|
||
|
|
||
|
while (!stoppingToken.IsCancellationRequested)
|
||
|
{
|
||
|
var result = await Cli.Wrap("path/to/exe")
|
||
|
.WithArguments(new[] {"--foo", "bar"})
|
||
|
.WithWorkingDirectory("work/dir/path")
|
||
|
.ExecuteAsync();
|
||
|
|
||
|
await Task.Delay(1000, stoppingToken);
|
||
|
}
|
||
|
}
|
||
|
}
|