CleanerTask extends AbstractTask

A task that should be run regularly that deletes 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
$scheduler  : Scheduler|null
Reference to a scheduler object
$taskGroup  : int
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
Constructor
areMultipleExecutionsAllowed()  : bool
Returns TRUE if several runs of the task are allowed concurrently
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
getDescription()  : string
This method returns the description of the task
getExecution()  : Execution
Returns the execution object
getExecutionTime()  : int
This method returns the timestamp corresponding to the next execution time of the task
getNextDueExecution()  : int
Returns the timestamp for next due execution of the task
getPeriod()  : int
Returns the period after which a row is deleted
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
getTaskDescription()  : string
This method returns the description of the scheduler task
getTaskGroup()  : int
This method returns the task group (uid) of the task
getTaskTitle()  : string
This method returns the title of the scheduler task
getTaskUid()  : int
This method returns the unique id of the task
getTcaTables()  : array<string|int, mixed>
Returns the TCA-tables which are cleaned
getType()  : int
Guess task 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 disable status of the task
isExecutionRunning()  : bool
Returns TRUE if an instance of the task is already running
markExecution()  : int
This method adds current execution to the execution list It also logs the execution time and mode
registerRecurringExecution()  : mixed
Registers a recurring execution of the task
registerSingleExecution()  : mixed
Registers a single execution of the task
remove()  : mixed
Removes the task totally from the system.
save()  : bool
Saves the details of the task to the database.
setDescription()  : mixed
This method is used to set the description of the task
setDisabled()  : mixed
This method is used to set the disable status of the task
setExecution()  : mixed
Sets the internal execution object
setExecutionTime()  : mixed
This method is used to set the timestamp corresponding to the next execution time of the task
setPeriod()  : mixed
Sets the period after which a row is deleted
setRunOnNextCronJob()  : mixed
This method set the flag for next cron job execution
setScheduler()  : mixed
Sets the internal reference to the singleton instance of the Scheduler and the logger instance in case it was unserialized
setTaskGroup()  : mixed
This method is used to set the task group (uid) of the task
setTaskUid()  : mixed
This method is used to set the unique id of the task
setTcaTables()  : mixed
Sets the TCA-tables which are cleaned
stop()  : mixed
Stops the task, by replacing the execution object by an empty one NOTE: the task still needs to be saved after that
unmarkAllExecutions()  : bool
Clears all marked executions
unmarkExecution()  : mixed
Removes given execution from list
unsetScheduler()  : mixed
Unsets the internal reference to the singleton instance of the Scheduler and the logger instance.
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 $taskGroup = 0

$taskUid

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

protected int $taskUid

$tcaTables

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

The tables to clean

Methods

__construct()

Constructor

public __construct() : mixed

areMultipleExecutionsAllowed()

Returns TRUE if several runs of the task are allowed concurrently

public areMultipleExecutionsAllowed() : bool
Return values
bool

TRUE if concurrent executions are allowed, FALSE otherwise

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

getDescription()

This method returns the description of the task

public getDescription() : string
Return values
string

Description

getExecution()

Returns the execution object

public getExecution() : Execution
Return values
Execution

The internal execution object

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

getNextDueExecution()

Returns the timestamp for next due execution of the task

public getNextDueExecution() : int
Return values
int

Date and time of the next execution as a timestamp

getPeriod()

Returns the period after which a row is deleted

public getPeriod() : int
Return values
int

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

public getTaskClassName() : string
Return values
string

getTaskDescription()

This method returns the description of the scheduler task

public getTaskDescription() : string
Return values
string

getTaskGroup()

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

public getTaskGroup() : int
Return values
int

Uid of task group

getTaskTitle()

This method returns the title of the scheduler task

public getTaskTitle() : 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

getTcaTables()

Returns the TCA-tables which are cleaned

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

getType()

Guess task 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 disable status of the task

public isDisabled() : bool
Return values
bool

TRUE if task is disabled, FALSE otherwise

isExecutionRunning()

Returns TRUE if an instance of the task is already running

public isExecutionRunning() : bool
Return values
bool

TRUE if an instance is already running, FALSE otherwise

markExecution()

This method adds current execution to the execution list It also logs the execution time and mode

public markExecution() : int
Return values
int

Execution id

registerRecurringExecution()

Registers a recurring execution of the task

public registerRecurringExecution(int $start, int $interval[, int $end = 0 ][, bool $multiple = false ][, string $cron_cmd = '' ]) : mixed
Parameters
$start : int

The first date/time where this execution should occur (timestamp)

$interval : int

Execution interval in seconds

$end : int = 0

The last date/time where this execution should occur (timestamp)

$multiple : bool = false

Set to FALSE if multiple executions of this task are not permitted in parallel

$cron_cmd : string = ''

Used like in crontab (minute hour day month weekday)

registerSingleExecution()

Registers a single execution of the task

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

Timestamp of the next execution

remove()

Removes the task totally from the system.

public remove() : mixed

save()

Saves the details of the task to the database.

public save() : bool
Return values
bool

setDescription()

This method is used to set the description of the task

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

Description

setDisabled()

This method is used to set the disable 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) : mixed
Parameters
$execution : Execution

The execution to add

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

setPeriod()

Sets the period after which a row is deleted

public setPeriod(int $period) : mixed
Parameters
$period : int

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

setScheduler()

Sets the internal reference to the singleton instance of the Scheduler and the logger instance in case it was unserialized

public setScheduler() : mixed

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

setTaskUid()

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

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

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

setTcaTables()

Sets the TCA-tables which are cleaned

public setTcaTables([array<string|int, mixed> $tcaTables = [] ]) : mixed
Parameters
$tcaTables : array<string|int, mixed> = []

stop()

Stops the task, by replacing the execution object by an empty one NOTE: the task still needs to be saved after that

public stop() : mixed

unmarkAllExecutions()

Clears all marked executions

public unmarkAllExecutions() : bool
Return values
bool

TRUE if the clearing succeeded, FALSE otherwise

unmarkExecution()

Removes given execution from list

public unmarkExecution(int $executionID[, Throwable $e = null ]) : mixed
Parameters
$executionID : int

Id of the execution to remove.

$e : Throwable = null

An exception to signal a failed execution

unsetScheduler()

Unsets the internal reference to the singleton instance of the Scheduler and the logger instance.

public unsetScheduler() : mixed

This is done before a task is serialized, so that the scheduler instance and the logger instance are not saved to the database

cleanTable()

Executes the delete-query for the given table

protected cleanTable(string $tableName) : bool
Parameters
$tableName : string
Return values
bool

logException()

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

        
On this page

Search results