Properties Methods Events Direct Link

# Class Ext.util.TaskRunner

Package: | Ext.util
Defined In: | TaskMgr.js
Class: | TaskRunner
Subclasses: | TaskMgr
Extends: | Object

Provides the ability to execute one or more arbitrary tasks in a multithreaded manner. Generally, you can use the singleton Ext.TaskMgr instead, but if needed, you can create separate instances of TaskRunner. Any number of separate tasks can be started at any time and will run independently of each other. Example usage:

    // Start a simple clock task that updates a div once per second
    var updateClock = function(){
        Ext.fly('clock').update(new Date().format('g:i:s A'));
    }
    var task = {
        run: updateClock,
        interval: 1000 //1 second
    }
    var runner = new Ext.util.TaskRunner();
    runner.start(task);

    // equivalent using TaskMgr
    Ext.TaskMgr.start({
        run: updateClock,
        interval: 1000
    });

Also see Ext.util.DelayedTask.

## Public Properties

This class has no public properties.

## Public Methods

Method | Defined By
--- | ---
| TaskRunner( [`Number interval`] ) Parameters: `interval` : Number (optional) The minimum precision in milliseconds supported by this TaskRunner instance (defaults to 10) Returns: void | TaskRunner
| start( `Object task` ) : Object Starts a new task. Starts a new task. Parameters: `task` : Object A config object that supports the following properties: `run` : Function The function to execute each time the task is run. The function will be called at each interval and passed the `args` argument if specified. If a particular scope is required, be sure to specify it using the `scope` argument. `interval` : Number The frequency in milliseconds with which the task should be executed. `args` : Array (optional) An array of arguments to be passed to the function specified by `run`. `scope` : Object (optional) The scope (`this` reference) in which to execute the `run` function. Defaults to the task config object. `duration` : Number (optional) The length of time in milliseconds to execute the task before stopping automatically (defaults to indefinite). `repeat` : Number (optional) The number of times to execute the task before stopping automatically (defaults to indefinite). Returns: `Object` The task | TaskRunner
| stop( `Object task` ) : Object Stops an existing running task. Stops an existing running task. Parameters: `task` : Object The task to stop Returns: `Object` The task | TaskRunner
| stopAll() : void Stops all tasks that are currently running. Stops all tasks that are currently running. Parameters: None. Returns: void | TaskRunner

## Public Events

This class has no public events.