This documentation is for WSO2 Data Services Server 3.0.1. View documentation for the latest release.

Adding Scheduled Tasks

Using the WSO2 Data Services Server, a task can be scheduled to execute periodically and also only a limited number of times. Follow the steps below to schedule a task.

1. Log on to the Data Services Server Management Console and select "Data Services -> Scheduled Tasks" in the "Main" menu.

2. The "Scheduled Tasks" page opens. Click the "Add New Task" link.

3. Fill the required information.

Tasks can be configured to invoke a data-service operation or to use a custom java class which implements the "org.wso2.carbon.dataservices.task.DataTask" interface. The following set of properties should be defined in order to successfully create a task. 

  • Task Name : Name of the scheduled task.
  • Task Repeat Count : Number of cycles to be executed. If you enter 0, the task will execute once. If you enter 1, the task will execute twice and so on.
  • Task Interval : Time gap between two consecutive task executions.
  • Start Time : Starting time of the scheduled task. If this is not given, the task will start at the moment the it is scheduled.
Parameters required to define a task that uses a data-service operation
  • Data Service Name : Name of the relevant data service.
  • Operation Name : Data service operation to be executed from the task.
Parameters required to define a task that uses a custom java class
  • Data Service Task Class : Name of the java class which has implemented "org.wso2.carbon.dataservices.task.DataTask" interface. The definition of the interface is follows:
package org.wso2.carbon.dataservices.task;
/**
* This interface represents a scheduled data task.
*/
  public interface DataTask {
      void execute(DataTaskContext ctx);
  }

The following code snippet shows a sample DataTask implemenation:

package samples;
import java.util.HashMap;
import java.util.Map;
import org.wso2.carbon.dataservices.core.DataServiceFault;
import org.wso2.carbon.dataservices.core.engine.ParamValue;
import org.wso2.carbon.dataservices.task.DataTask;
import org.wso2.carbon.dataservices.task.DataTaskContext;

public class SampleDataTask implements DataTask {    
@Override    
   public void execute(DataTaskContext ctx) {
       Map<String, ParamValue> params = new HashMap<String, ParamValue>();
       params.put("increment", new ParamValue("1000"));
       params.put("employeeNumber", new ParamValue("1002"));
       try {
           ctx.invokeOperation("RDBMSSample", "incrementEmployeeSalary", params);
       } catch (DataServiceFault e) {
         // handle exception
         }
    }
}  

4. After configuring the task with appropriate values, click the "Schedule" button to complete.

Copyright © WSO2 Inc. 2005-2013