Ir al contenido

CronTab samples

Primero debe crear el objeto del servicio web:

OKMWebservices ws = OKMWebservicesFactory.newInstance(host);

A continuación, debe iniciar sesión mediante el método “login”. Puede acceder al método “login” desde el objeto del servicio web “ws”, tal y como se muestra a continuación:

ws.login(user, password);

Llegados a este punto, puede usar todos los métodos de CronTab desde la clase “cronTab”, tal y como se muestra a continuación:

List<CronTab> cronTabs = ws.cronTab.findAll();

Descripción:

Método Valores de retorno Descripción
findAll() List Devuelve una lista con todas las entradas de CronTab registradas en el sistema.

Cada objeto CronTab de la lista devuelta contiene las siguientes propiedades:

  • id: identificador único del cron tab.
  • name: nombre del cron tab.
  • expression: expresión cron que define la planificación de ejecución.
  • className: nombre de la clase Java asociada a la tarea cron.
  • active: indica si el cron tab está actualmente habilitado.
  • lastBegin: fecha y hora del inicio de la última ejecución.
  • lastEnd: fecha y hora del final de la última ejecución.
  • error: último mensaje de error, si lo hay.

Ejemplo:

using System;
using System.Collections.Generic;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
List<CronTab> cronTabs = ws.cronTab.findAll();
foreach (CronTab ct in cronTabs)
{
System.Console.WriteLine(ct.toString());
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}

Descripción:

Método Valores de retorno Descripción
update(long id, String name, String expression, bool active) void Actualiza la configuración de un cron tab existente.

El valor de id es el identificador único del cron tab que se va a actualizar.

El valor de name es el nuevo nombre que se asignará al cron tab.

El valor de expression es la nueva expresión cron que define la planificación de ejecución.

El valor de active determina si el cron tab debe quedar habilitado (true) o deshabilitado (false).

Ejemplo:

using System;
using System.Collections.Generic;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
List<CronTab> cronTabs = ws.cronTab.findAll();
CronTab ct = cronTabs.Find(c => c.name == "Purge Activity Log");
// Disable the cron tab
ws.cronTab.update(ct.id, ct.name, ct.expression, false);
// Re-enable the cron tab
ws.cronTab.update(ct.id, ct.name, ct.expression, true);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}

Descripción:

Método Valores de retorno Descripción
reset(long id) void Reinicia el estado de ejecución de un cron tab, borrando los datos de su última ejecución.

El valor de id es el identificador único del cron tab que se va a reiniciar.

Ejemplo:

using System;
using System.Collections.Generic;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
List<CronTab> cronTabs = ws.cronTab.findAll();
CronTab ct = cronTabs.Find(c => c.name == "Purge Activity Log");
ws.cronTab.reset(ct.id);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}

Descripción:

Método Valores de retorno Descripción
execute(long id) void Dispara la ejecución inmediata de un cron tab, independientemente de su expresión programada.

El valor de id es el identificador único del cron tab que se va a ejecutar.

Ejemplo:

using System;
using System.Collections.Generic;
using System.Threading;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
List<CronTab> cronTabs = ws.cronTab.findAll();
CronTab ct = cronTabs.Find(c => c.name == "Purge Activity Log");
ws.cronTab.execute(ct.id);
// Wait for execution to complete
Thread.Sleep(5000);
cronTabs = ws.cronTab.findAll();
CronTab executed = cronTabs.Find(c => c.name == "Purge Activity Log");
System.Console.WriteLine("Last execution ended: " + executed.lastEnd);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}