1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-11-04 10:02:40 +01:00

Fixed: Broken tasks getting stuck in queue

This commit is contained in:
Mark McDowall 2020-03-05 17:57:11 -08:00 committed by Qstick
parent 5b6a6cc9dc
commit fd3acd85e6

View File

@ -67,13 +67,15 @@ private void ExecuteCommands()
private void ExecuteCommand<TCommand>(TCommand command, CommandModel commandModel)
where TCommand : Command
{
var handlerContract = typeof(IExecute<>).MakeGenericType(command.GetType());
var handler = (IExecute<TCommand>)_serviceFactory.Build(handlerContract);
_logger.Trace("{0} -> {1}", command.GetType().Name, handler.GetType().Name);
IExecute<TCommand> handler = null;
try
{
var handlerContract = typeof(IExecute<>).MakeGenericType(command.GetType());
handler = (IExecute<TCommand>)_serviceFactory.Build(handlerContract);
_logger.Trace("{0} -> {1}", command.GetType().Name, handler.GetType().Name);
_commandQueueManager.Start(commandModel);
BroadcastCommandUpdate(commandModel);
@ -108,9 +110,12 @@ private void ExecuteCommand<TCommand>(TCommand command, CommandModel commandMode
{
ProgressMessageContext.CommandModel = null;
}
}
_logger.Trace("{0} <- {1} [{2}]", command.GetType().Name, handler.GetType().Name, commandModel.Duration.ToString());
if (handler != null)
{
_logger.Trace("{0} <- {1} [{2}]", command.GetType().Name, handler.GetType().Name, commandModel.Duration.ToString());
}
}
}
private void BroadcastCommandUpdate(CommandModel command)