refactor: rename to Orchestrator

This commit is contained in:
Guillermo Marcel 2025-05-05 13:58:51 -03:00
parent 4507f5ab21
commit c3bd0e5933
2 changed files with 11 additions and 7 deletions

View File

@ -9,16 +9,16 @@ using BotCommand = CasaBotApp.TelegramBot.BotCommand;
namespace CasaBotApp.Extensions;
public class CommandRegister
public class AlarmBotOrquestrator
{
private readonly ILogger<CommandRegister> _logger;
private readonly ILogger<AlarmBotOrquestrator> _logger;
private readonly BotHandler _botHandler;
private readonly AutoScanApp _autoScanApp;
private readonly IControlServer _controlServer;
private readonly IShinobiLinkFactory _shinobiLinkFactory;
private readonly IDVRConnector _dvrConnector;
public CommandRegister(ILogger<CommandRegister> logger, BotHandler botHandler, AutoScanApp autoScanApp, IControlServer controlServer, IShinobiLinkFactory shinobiLinkFactory, IDVRConnector dvrConnector)
public AlarmBotOrquestrator(ILogger<AlarmBotOrquestrator> logger, BotHandler botHandler, AutoScanApp autoScanApp, IControlServer controlServer, IShinobiLinkFactory shinobiLinkFactory, IDVRConnector dvrConnector)
{
_logger = logger;
_botHandler = botHandler;
@ -170,6 +170,8 @@ public class CommandRegister
}
private async Task<string> TakeSnapshot()
{
var timer = new Stopwatch();
timer.Start();
var outputPath = Path.Combine(".", "media", "snp", "something.jpeg");
var originalFeed = await _dvrConnector.GetVideoStream();
var ffmArgs = $"-y -i \"{originalFeed}\" -ss 00:00:00.500 -vframes 1 {outputPath}";
@ -189,9 +191,12 @@ public class CommandRegister
};
process.Start();
await process.WaitForExitAsync();
// You can read the output here.
// You can read the output here.
// var output = await process.StandardOutput.ReadToEndAsync();
// var error = await process.StandardError.ReadToEndAsync();
timer.Stop();
_logger.LogDebug("Taking snapshot took {Elapsed} ms", timer.ElapsedMilliseconds);
if(process.ExitCode != 0)
{
_logger.LogError("Error taking snapshot, exit code: {ExitCode}", process.ExitCode);

View File

@ -40,8 +40,7 @@ hostBuilder.ConfigureServices((_, services) =>
services.AddPolling<BotHandler>();
services.AddSingleton<IUpdateHandler>(sp => sp.GetService<BotHandler>()!);
services.AddTransient<CommandRegister>();
services.AddTransient<AlarmBotOrquestrator>();
// To get notifications when a retry is performed
@ -66,7 +65,7 @@ var host = hostBuilder.Build();
var logger = host.Services.GetService<ILogger<Program>>()!;
var autoScanApp = host.Services.GetService<AutoScanApp>()!;
var commandRegister = host.Services.GetRequiredService<CommandRegister>();
var commandRegister = host.Services.GetRequiredService<AlarmBotOrquestrator>();
using var cts = new CancellationTokenSource();