55 lines
1.8 KiB
C#
55 lines
1.8 KiB
C#
using Servicio_Gestion_Asegasa.Procesos;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Servicio_Gestion_Asegasa
|
|
{
|
|
public class ProcesosConf
|
|
{
|
|
public static Configuracion Conf;
|
|
|
|
public static DateTime? HoraUtcUltimaEjecucionProcesos = null;
|
|
private static bool Procesando;
|
|
private static DateTime? FechaUltimaEjecucionTareasHorarias;
|
|
|
|
public static async Task ProcesarAsync()
|
|
{
|
|
if (!Procesando && (HoraUtcUltimaEjecucionProcesos.HasValue == false || DateTime.UtcNow.Subtract(HoraUtcUltimaEjecucionProcesos.Value).TotalSeconds > Conf.SegundosMinimosEntreProcesos))
|
|
{
|
|
Procesando = true;
|
|
HoraUtcUltimaEjecucionProcesos = DateTime.UtcNow;
|
|
try
|
|
{
|
|
await ProcesosMensajes.EnviaSMSAsync();
|
|
|
|
if (!FechaUltimaEjecucionTareasHorarias.HasValue || (DateTime.Now.Subtract(FechaUltimaEjecucionTareasHorarias.Value).TotalMinutes > 120 &&
|
|
DateTime.Now.Hour > 6 &&
|
|
DateTime.Now.Hour < 20 &&
|
|
DateTime.Now.DayOfWeek != DayOfWeek.Sunday) )
|
|
{
|
|
FechaUltimaEjecucionTareasHorarias = DateTime.Now;
|
|
|
|
|
|
ProcesosMensajes.CompruebaSMSNoEnviados();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
await Logs.AñadeLogAsync(tsUtilidades.Enumeraciones.TipoLog.Fallo, ex.Message,ex);
|
|
}
|
|
finally
|
|
{
|
|
Procesando = false;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|