CronTab samples

Basics

Suggested code sample

First, you must create the web service object:

OKMWebservices ws = OKMWebservicesFactory.newInstance(host);
 

Then you should log in using the "login" method. You can access the "login" method from the web service object "ws" as shown below:

ws.login(user, password);

Once you are logged in to the web service, the session is kept in the web service object. Then you can use the other API methods.

At this point, you can use all the CronTab methods from the "cronTab" class as shown below:

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

Methods

findAll

Description:

MethodReturn valuesDescription

findAll()

List<CronTab>

Returns a list of all CronTab entries registered in the system.

Each CronTab object in the returned list contains the following properties:

  • id: Unique identifier of the cron tab.
  • name: Name of the cron tab.
  • expression: Cron expression that defines the execution schedule.
  • className: Java class name associated with the cron task.
  • active: Indicates whether the cron tab is currently enabled.
  • lastBegin: Date and time of the last execution start.
  • lastEnd: Date and time of the last execution end.
  • error: Last error message, if any.

Example:

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());
             }
         }
     }
 }

update

Description:

MethodReturn valuesDescription

update(long id, String name, String expression, bool active)

void

Updates the configuration of an existing cron tab.

The value of id is the unique identifier of the cron tab to be updated.

The value of name is the new name to assign to the cron tab.

The value of expression is the new cron expression that defines the execution schedule.

The value of active determines whether the cron tab should be enabled (true) or disabled (false).

Example:

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());
             }
         }
     }
 }

reset

Description:

MethodReturn valuesDescription

reset(long id)

void

Resets the execution state of a cron tab, clearing its last execution data.

The value of id is the unique identifier of the cron tab to be reset.

Example:

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());
             }
         }
     }
 }

execute

Description:

MethodReturn valuesDescription

execute(long id)

void

Triggers the immediate execution of a cron tab, regardless of its scheduled expression.

The value of id is the unique identifier of the cron tab to be executed.

After calling this method, allow some time for the cron task to complete before checking the lastEnd property.

Example:

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());
             }
         }
     }
 }