Uso de la biblioteca de tareas cronometradas

1 Descargue la biblioteca a través de Nuget: taskschedulerengine

Creador: pettijohn.com

 

2 Uso de tareas cronometradas, agregue clases, de la siguiente manera:

    public class DataSyncTask : ITask
    {
        private static Logger logger = LogManager.GetCurrentClassLogger();
        public void HandleConditionsMetEvent(object sender, ConditionsMetEventArgs e)
        {
            try
            {
                // 此处为具体的操作
            }
            catch (Exception ex)
            {
                //抛出异常,记录错误日志
                logger.Fatal(ex.Message, ex);
            }
        }

        public void Initialize(ScheduleDefinition schedule, object parameters)
        {

        } 
    }

3 Método de configuración del nodo del archivo de configuración: <tipo de tarea = "espacio de nombres. Nombre de clase, espacio de nombres, ...

  <taskSchedulerEngine>
    <schedule>
      <at name="TaskName" month="*" dayOfMonth="1" dayOfWeek="*" hour="1" minute="1" second="1" kind="Local">
        <execute>
          <task type="SheBaoGIS.DataSyncTask, SheBaoGIS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" parameters="" />
        </execute>
      </at>
    </schedule>
  </taskSchedulerEngine>
</configuration>

4) El programa principal para iniciar el programa de cronometraje:

SchedulerRuntime.StartWithConfig();

 Citando otros sitios web para agregar:

c # Compartir programa en ejecución de temporización (programa de temporización)

 Actualizado: 7 de enero de 2014 09:10:16 Autor:     Quiero comentar

 

Escribí un pequeño programa de cronometraje. Una vez que se activa el cronometraje, puedes ejecutar otros códigos según sea necesario. Comparte el proceso de operación. Espero que sea útil para todos.

1) Agregue un archivo de referencia en nuestro proyecto: TaskSchedulerEngine.dll (dll define una interfaz ITask y define dos métodos Initialize y HandleConditionsMetEvent);

2) Cree una clase activada por tiempo: SyncTask.cs (el nombre de la clase lo define usted mismo), esta clase debe implementar la interfaz ITask. El código específico es el siguiente:

 

Copie el código de la siguiente manera:


public class SyncTask: ITask
{   // La variable que acepta los parámetros pasados   private string configName;     /// <summary>   /// El código de la operación específica   /// </summary>   public void HandleConditionsMetEvent (objeto remitente, CondicionesMetEventArgs e )   {     try     {       // Aquí está la operación específica     }     catch (Exception ex)     {       // Lanzar una excepción y registrar el registro de errores     }   }


  













 

  /// <summary>
  /// Initialization
  /// </summary>
  /// <param name = "schedule"> </param>
  /// <param name = "parameters"> parámetros (este parámetro se activa en tiempo Pasado durante la configuración) </param>
  public void Initialize (ScheduleDefinition schedule, object parameters)
  {             // Inicializa la variable con los parámetros pasados     configFileName = parameters.ToString ();     try     {       // El código específico de inicialización     }     catch (Exception e)     {           // Lanzar una excepción y registrar el registro de errores      }   } }











 

3) Configure el archivo app.config, la descripción de la configuración del parámetro del archivo de configuración:

a. <at> </at> es una tarea. Si se activan diferentes programas en diferentes momentos, debe configurar varios <at>; name: es el nombre de cada <at>, puede nombrarlo según sus necesidades ; mes: el mes en el que se activa la tarea, * significa que se activa todos los meses; dayofMonth: el día de cada mes que se activará, * significa todos los días; dayOfWeek: el día de la semana que se activará, * significa que es disparado todos los días; hora: qué hora del día Disparador, * significa disparador una vez cada hora; minuto: disparador varios minutos por hora, 58 significa disparador 58 minutos por hora; segundo: disparador varios segundos por minuto.

b. <tarea> es la clase que se activará, escriba: "la dirección detallada de la clase que se activará (nombre del proyecto. nombre de la carpeta. nombre de la clase), nombre del proyecto, versión, cultura, PublicKeyToKen", parámetros: parámetros que se aprobado, si no pasa los parámetros, puede establecerlo en "";

 

Copie el código de la siguiente manera:


    <taskSchedulerEngine>
    <schedule>
      <at name = "TaskName" month = "*" dayOfMonth = "*" dayOfWeek = "*" hour = "*" minute = "58" second = "0" kind = "Local">
        < ejecutar>
          <task type = "Test.Task.SyncTask, Test, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null" parameters = "FtpConfig.xml" />
        </execute>
      </at>
    </schedule>
</taskSchedulerEngine>

 

4) El programa principal para iniciar el programa de cronometraje:

 

Copie el código de la siguiente manera:


SchedulerRuntime.StartWithConfig ();

 

De acuerdo, hasta ahora, un programa de cronometraje completo está terminado.

Supongo que te gusta

Origin blog.csdn.net/qq503690160/article/details/86308489
Recomendado
Clasificación