Code rearrange for services and charting
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using LeafWeb.Core.Entities;
|
||||
using LeafWeb.Core.Remote;
|
||||
|
||||
namespace LeafWeb.Web.Services.PiscalQueue
|
||||
{
|
||||
public abstract class PiscalQueueWorker : PiscalQueueBase
|
||||
{
|
||||
public void DoWork(int leafInputId)
|
||||
{
|
||||
LeafInput leafInput = null;
|
||||
try
|
||||
{
|
||||
leafInput = DataService.GetLeafInput(leafInputId);
|
||||
DoWorkInternal(leafInput);
|
||||
}
|
||||
catch (PiscalClientException ex)
|
||||
{
|
||||
PiscalExceptionHandle(ex, leafInput);
|
||||
|
||||
if (leafInput != null)
|
||||
{
|
||||
DataService.SetLeafInputStatus(leafInput, LeafInputStatusType.Exception, "Error occurred processing LeafInput",
|
||||
ex.Message);
|
||||
}
|
||||
// signal to process next item
|
||||
HangfireStartup.TriggerPiscalProcessQueue();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
var errorMessage = FormatException(ex, leafInputId);
|
||||
Logger.Error(errorMessage);
|
||||
throw; // this will retry via HangFire
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract void DoWorkInternal(LeafInput leafInputId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user