Fixed: Broken tasks getting stuck in queue

pull/4608/head
Mark McDowall 5 years ago
parent 63e01aff8c
commit 295fdad750

@ -62,14 +62,16 @@ namespace NzbDrone.Core.Messaging.Commands
} }
private void ExecuteCommand<TCommand>(TCommand command, CommandModel commandModel) where TCommand : Command private void ExecuteCommand<TCommand>(TCommand command, CommandModel commandModel) where TCommand : Command
{
IExecute<TCommand> handler = null;
try
{ {
var handlerContract = typeof(IExecute<>).MakeGenericType(command.GetType()); var handlerContract = typeof(IExecute<>).MakeGenericType(command.GetType());
var handler = (IExecute<TCommand>)_serviceFactory.Build(handlerContract); handler = (IExecute<TCommand>)_serviceFactory.Build(handlerContract);
_logger.Trace("{0} -> {1}", command.GetType().Name, handler.GetType().Name); _logger.Trace("{0} -> {1}", command.GetType().Name, handler.GetType().Name);
try
{
_commandQueueManager.Start(commandModel); _commandQueueManager.Start(commandModel);
BroadcastCommandUpdate(commandModel); BroadcastCommandUpdate(commandModel);
@ -104,10 +106,13 @@ namespace NzbDrone.Core.Messaging.Commands
{ {
ProgressMessageContext.CommandModel = null; ProgressMessageContext.CommandModel = null;
} }
}
if (handler != null)
{
_logger.Trace("{0} <- {1} [{2}]", command.GetType().Name, handler.GetType().Name, commandModel.Duration.ToString()); _logger.Trace("{0} <- {1} [{2}]", command.GetType().Name, handler.GetType().Name, commandModel.Duration.ToString());
} }
}
}
private void BroadcastCommandUpdate(CommandModel command) private void BroadcastCommandUpdate(CommandModel command)
{ {

Loading…
Cancel
Save