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; 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 BotHandler _botHandler;
private readonly AutoScanApp _autoScanApp; private readonly AutoScanApp _autoScanApp;
private readonly IControlServer _controlServer; private readonly IControlServer _controlServer;
private readonly IShinobiLinkFactory _shinobiLinkFactory; private readonly IShinobiLinkFactory _shinobiLinkFactory;
private readonly IDVRConnector _dvrConnector; 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; _logger = logger;
_botHandler = botHandler; _botHandler = botHandler;
@ -170,6 +170,8 @@ public class CommandRegister
} }
private async Task<string> TakeSnapshot() private async Task<string> TakeSnapshot()
{ {
var timer = new Stopwatch();
timer.Start();
var outputPath = Path.Combine(".", "media", "snp", "something.jpeg"); var outputPath = Path.Combine(".", "media", "snp", "something.jpeg");
var originalFeed = await _dvrConnector.GetVideoStream(); var originalFeed = await _dvrConnector.GetVideoStream();
var ffmArgs = $"-y -i \"{originalFeed}\" -ss 00:00:00.500 -vframes 1 {outputPath}"; var ffmArgs = $"-y -i \"{originalFeed}\" -ss 00:00:00.500 -vframes 1 {outputPath}";
@ -192,6 +194,9 @@ public class CommandRegister
// You can read the output here. // You can read the output here.
// var output = await process.StandardOutput.ReadToEndAsync(); // var output = await process.StandardOutput.ReadToEndAsync();
// var error = await process.StandardError.ReadToEndAsync(); // var error = await process.StandardError.ReadToEndAsync();
timer.Stop();
_logger.LogDebug("Taking snapshot took {Elapsed} ms", timer.ElapsedMilliseconds);
if(process.ExitCode != 0) if(process.ExitCode != 0)
{ {
_logger.LogError("Error taking snapshot, exit code: {ExitCode}", process.ExitCode); _logger.LogError("Error taking snapshot, exit code: {ExitCode}", process.ExitCode);

View File

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