CleanerTask extends AbstractTask

A task that should be run regularly that permanently removes soft-deleted datasets from the DB.

Internal

This class is a specific scheduler task implementation and is not part of the Public TYPO3 API.

Table of Contents

Constants

TYPE_RECURRING  = 2
TYPE_SINGLE  = 1

Properties

$description  : string
Description for the task
$disabled  : bool
Disable flag, TRUE if task is disabled, FALSE otherwise
$execution  : Execution
The execution object related to the task
$executionTime  : int
This variable contains the time of next execution of the task
$period  : int
$runOnNextCronJob  : bool
Run on next cron job flag, TRUE if task should run on next cronjob, FALSE otherwise
$taskGroup  : int|null
Task group for this task
$taskUid  : int
The unique id of the task used to identify it in the database.
$tcaTables  : array<string|int, mixed>

Methods

__construct()  : mixed
execute()  : bool
The main method of the task. Iterates through the tables and calls the cleaning function
getAdditionalInformation()  : string
Returns the information shown in the task-list
getAllTcaTables()  : void
TCA Item Provider
getDescription()  : string
This method returns the description of the task
getExecution()  : Execution|object|null
Returns the execution object
getExecutionTime()  : int
This method returns the timestamp corresponding to the next execution time of the task
getPeriodAsTimestamp()  : int
getRunOnNextCronJob()  : bool
This method returns the run on next cron job status of the task
getTaskClassName()  : string
This method returns the class name of the scheduler task Unused since TYPO3 v14.0, can be deprecated and removed once we migrate task registration away from TYPO3_CONF_VARS.
getTaskDescription()  : string
This method returns the description of the scheduler task Unused since TYPO3 v14.0, can be deprecated and removed once we migrate task registration away from TYPO3_CONF_VARS.
getTaskGroup()  : int|null
This method returns the task group (uid) of the task
getTaskParameters()  : array<string|int, mixed>
It is recommended to implement this method in the respective task class.
getTaskTitle()  : string
This method returns the title of the scheduler task.
getTaskType()  : string
getTaskUid()  : int
This method returns the unique id of the task
getType()  : int
Guess recurring type from the existing information If an interval or a cron command is defined, it's a recurring task
isDisabled()  : bool
This method returns the disabled status of the task
setDescription()  : void
This method is used to set the description of the task
setDisabled()  : mixed
This method is used to set the disabled status of the task
setExecution()  : void
Sets the internal execution object
setExecutionTime()  : mixed
This method is used to set the timestamp corresponding to the next execution time of the task
setRunOnNextCronJob()  : mixed
This method set the flag for next cron job execution
setTaskGroup()  : mixed
This method is used to set the task group (uid) of the task
setTaskParameters()  : void
Used to fill fields of this class, e.g. also when instantiating this class when no parameters are given but native DB fields are coming in.
setTaskUid()  : void
This method is used to set the unique id of the task
cleanTable()  : bool
Executes the delete-query for the given table
getLanguageService()  : LanguageService|null
logException()  : mixed

Constants

TYPE_RECURRING

public mixed TYPE_RECURRING = 2

Properties

$description

Description for the task

protected string $description = ''

$disabled

Disable flag, TRUE if task is disabled, FALSE otherwise

protected bool $disabled = false

$executionTime

This variable contains the time of next execution of the task

protected int $executionTime = 0

$period

protected int $period = 0

The time period, after which the rows are deleted

$runOnNextCronJob

Run on next cron job flag, TRUE if task should run on next cronjob, FALSE otherwise

protected bool $runOnNextCronJob = false

$taskGroup

Task group for this task

protected int|null $taskGroup = 0

$taskUid

The unique id of the task used to identify it in the database.

protected int $taskUid = 0

$tcaTables

protected array<string|int, mixed> $tcaTables = []

The tables to clean

Methods

execute()

The main method of the task. Iterates through the tables and calls the cleaning function

public execute() : bool
Return values
bool

Returns TRUE on successful execution, FALSE on error

getAdditionalInformation()

Returns the information shown in the task-list

public getAdditionalInformation() : string
Return values
string

Information-text fot the scheduler task-list

getAllTcaTables()

TCA Item Provider

public getAllTcaTables(array<string|int, mixed> &$config) : void
Parameters
$config : array<string|int, mixed>

getDescription()

This method returns the description of the task

public getDescription() : string
Return values
string

Description

getExecution()

Returns the execution object

public getExecution() : Execution|object|null
Internal

since TYPO3 v12.3, not part of TYPO3 Public API anymore.

Return values
Execution|object|null

The internal execution object - when an invalid task is being unserialized, the Execution object might not be available

getExecutionTime()

This method returns the timestamp corresponding to the next execution time of the task

public getExecutionTime() : int
Return values
int

Timestamp of next execution

getPeriodAsTimestamp()

public getPeriodAsTimestamp() : int
Return values
int

getRunOnNextCronJob()

This method returns the run on next cron job status of the task

public getRunOnNextCronJob() : bool
Return values
bool

TRUE if task should run on next cron job, FALSE otherwise

getTaskClassName()

This method returns the class name of the scheduler task Unused since TYPO3 v14.0, can be deprecated and removed once we migrate task registration away from TYPO3_CONF_VARS.

public getTaskClassName() : string
Return values
string

getTaskDescription()

This method returns the description of the scheduler task Unused since TYPO3 v14.0, can be deprecated and removed once we migrate task registration away from TYPO3_CONF_VARS.

public getTaskDescription() : string

Note by benni in 2025: This method will cease to exist at some point, as the description is loaded from TCA eventually.

Return values
string

getTaskGroup()

This method returns the task group (uid) of the task

public getTaskGroup() : int|null
Return values
int|null

Uid of task group or null if it came back from the DB without the task group set.

getTaskParameters()

It is recommended to implement this method in the respective task class.

public getTaskParameters() : array<string|int, mixed>
Return values
array<string|int, mixed>

getTaskTitle()

This method returns the title of the scheduler task.

public getTaskTitle() : string

Unused since TYPO3 v14.0, can be deprecated and removed once we migrate task registration away from TYPO3_CONF_VARS. Note by benni in 2025: This method will cease to exist at some point, as the title is loaded from TCA eventually.

Return values
string

getTaskType()

public getTaskType() : string
Return values
string

getTaskUid()

This method returns the unique id of the task

public getTaskUid() : int
Return values
int

The id of the task

getType()

Guess recurring type from the existing information If an interval or a cron command is defined, it's a recurring task

public getType() : int
Return values
int

isDisabled()

This method returns the disabled status of the task

public isDisabled() : bool
Return values
bool

TRUE if task is disabled, FALSE otherwise

setDescription()

This method is used to set the description of the task

public setDescription(string $description) : void
Parameters
$description : string

Description

setDisabled()

This method is used to set the disabled status of the task

public setDisabled(bool $flag) : mixed
Parameters
$flag : bool

TRUE if task should be disabled, FALSE otherwise

setExecution()

Sets the internal execution object

public setExecution(Execution $execution) : void
Parameters
$execution : Execution

The execution to add

Internal

since TYPO3 v12.3, not part of TYPO3 Public API anymore.

setExecutionTime()

This method is used to set the timestamp corresponding to the next execution time of the task

public setExecutionTime(int $timestamp) : mixed
Parameters
$timestamp : int

Timestamp of next execution

setRunOnNextCronJob()

This method set the flag for next cron job execution

public setRunOnNextCronJob(bool $flag) : mixed
Parameters
$flag : bool

TRUE if task should run with the next cron job, FALSE otherwise

setTaskGroup()

This method is used to set the task group (uid) of the task

public setTaskGroup(int $taskGroup) : mixed
Parameters
$taskGroup : int

Uid of task group

setTaskParameters()

Used to fill fields of this class, e.g. also when instantiating this class when no parameters are given but native DB fields are coming in.

public setTaskParameters(array<string|int, mixed> $parameters) : void
Parameters
$parameters : array<string|int, mixed>

setTaskUid()

This method is used to set the unique id of the task

public setTaskUid(int $id) : void
Parameters
$id : int

Primary key (from the database record) of the scheduled task

cleanTable()

Executes the delete-query for the given table

protected cleanTable(TcaSchema $schema) : bool
Parameters
$schema : TcaSchema
Return values
bool

logException()

protected logException(Exception $e) : mixed
Parameters
$e : Exception

        
On this page

Search results