Provides the ability to execute one or more arbitrary tasks in a multithreaded manner. Generally, you can use the singleton Ext.TaskManager 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 TaskManager
Ext.TaskManager.start({
run: updateClock,
interval: 1000
});
See the start method for details about how to configure a task object.
Also see Ext.util.DelayedTask.
(optional) The minimum precision in milliseconds supported by this TaskRunner instance (defaults to 10)
Starts a new task.
Starts a new task.
A config object that supports the following properties:
run
: FunctionThe function to execute each time the task is invoked. The
function will be called at each interval and passed the args
argument if specified, and the
current invocation count if not.
If a particular scope (this
reference) is required, be sure to specify it using the scope
argument.
Return false
from this function to terminate the task.
interval
: Numberargs
: Arrayrun
. If not specified, the current invocation count is passed.scope
: Objectrun
function. Defaults to the task config object.duration
: Numberrepeat
: NumberBefore each invocation, Ext injects the property taskRunCount
into the task object so
that calculations based on the repeat count can be performed.
The task
Stops an existing running task.
Stops an existing running task.
The task to stop
The task