Beispiel #1
0
 public void SafeLaunch(IRegularOperation operation)
 {
     try
     {
         var beginDateTime = dateTimeFactory.Now;
         if (scheduler.IsItTimeToLaunch(operation.Name, beginDateTime))
         {
             var operationResult = operation.Run();
             if (operationResult.HasValue)
             {
                 loggerFactory.Get <OperationsLauncher>().LogError($"Operation with name {operation.Name} failed", operationResult.Value);
             }
             var endDateTime = dateTimeFactory.Now;
             operationsLog.Append(operation.Name, beginDateTime, endDateTime, !operationResult.HasValue);
         }
     }
     catch (Exception e)
     {
         loggerFactory.Get <OperationsLauncher>().LogError($"Fail to launch operation {operation.Name}", e);
     }
 }