Sorry meant to send the SVN locations, they are,

*
https://svn.wso2.org/repos/wso2/trunk/carbon/components/data-services/org.wso2.carbon.dataservices.core/src/main/java/org/wso2/carbon/dataservices/core/task
*
https://svn.wso2.org/repos/wso2/trunk/carbon/components/data-services/org.wso2.carbon.dataservices.core/src/main/java/org/wso2/carbon/dataservices/core/admin/DataServiceAdmin.java

Cheers,
Anjana.

On Mon, Dec 12, 2011 at 4:53 PM, Anjana Fernando <[email protected]> wrote:

> Below contains the DSS classes that are used for implementing the DSS
> scheduled tasks based on ntask.
>
> * Package
> "/media/data/dev/wso2/carbon/trunk/components/data-services/org.wso2.carbon.dataservices.core/src/main/java/org/wso2/carbon/dataservices/core/task".
> * DSS Admin Service
> "/media/data/dev/wso2/carbon/trunk/components/data-services/org.wso2.carbon.dataservices.core/src/main/java/org/wso2/carbon/dataservices/core/admin/DataServiceAdmin.java",
> check methods "isTaskScheduled", "deleteTask", "rescheduleTask",
> "scheduleTask", "getTaskInfo" and "getAllTaskNames".
>
> Cheers,
> Anjana.
>
>
> On Fri, Dec 9, 2011 at 6:54 PM, Anjana Fernando <[email protected]> wrote:
>
>> Hi,
>>
>> Lately I've been writing a new task component "ntask", which is directly
>> based on quartz2 rather than having a dependency on Synapse, and also uses
>> the coordination component for controlling distributing tasks in a cluster.
>> To facilitate this, the group communication ability in the coordination
>> component has been improved to contain a synchronous sendReceive call to
>> implement RPC scenarios between peers in the group, which is needed in the
>> task component. The flow simply works in the following steps,
>>
>> * Register a task description "TaskInfo", which contains task trigger
>> information as well.
>> * Schedule a registered task with the given name.
>> * Related task controlling operations like, reschedule, pause, resume,
>> delete, get status, list tasks in a specific server etc..
>>
>> The task functionality is mainly done using a "TaskManager" interface,
>> which represents a task manager for a specific task type for a specific
>> tenant. For example, for tasks to not to clash in a server which has ESB
>> tasks and DSS tasks, the task type can be given to distinguish between the
>> two. When a task is registered, the target server, the task needs to be
>> scheduled can be specified by giving an implementation of the
>> "TaskLocationResolver" interface, where given the task context, it must
>> return the location of the server. There's a default task location resolver
>> class used otherwise when not explicitly given, which simply scheduled all
>> the tasks in an round robin fashion among the cluster. The failover
>> scenarios are implemented where, if a node goes down, the leader node will
>> identify it and schedule the orphaned tasks between remaining servers.
>> Also, if the leader node itself goes down, another node will become the
>> leader and reschedule the missing tasks and keep track of the running ones.
>>
>> The ntask component has a module called "solutions", which will contain
>> most often used task implementation. I've added a simple web service
>> invocation task implementation there, where in DSS itself, we derive that
>> to create our own tasks. So if there are simple task implementations, they
>> can be put into the solutions module, for reuse.
>>
>> The current ntask implementation is in-cooperated into the upcoming DSS
>> 2.6.3 release, so the new tasks functionality can be tested from that if
>> anyone's interested.
>>
>> Cheers,
>> Anjana.
>>
>> --
>> *Anjana Fernando*
>> Senior Software Engineer
>> WSO2 Inc. | http://wso2.com
>> lean . enterprise . middleware
>>
>
>
>
> --
> *Anjana Fernando*
> Senior Software Engineer
> WSO2 Inc. | http://wso2.com
> lean . enterprise . middleware
>



-- 
*Anjana Fernando*
Senior Software Engineer
WSO2 Inc. | http://wso2.com
lean . enterprise . middleware
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to