One or more frames executed in a series is called a task. Tasks will originate from either a connection, a heartbeat, or by a fork in another task. There is no restriction on how many frames a task can execute.
Several different functions return information about a task, or are used on a task-wide scale:
FUNCTION BEHAVIOUR task_id() Returns unique ID for the current task task_info() Returns information on a task tasks() Returns a list of all paused or preempted tasks stack() Returns full execution frame stack user() Returns task user set_user() Sets task user atomic() Used to turn on/off Atomic execution
Frames | Tasks | Preempting