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:
| Method | Return values | Description |
|---|---|---|
|
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:
|
||
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:
| Method | Return values | Description |
|---|---|---|
|
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 ( |
||
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:
| Method | Return values | Description |
|---|---|---|
|
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:
| Method | Return values | Description |
|---|---|---|
|
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());
}
}
}
}