Nextcloud PHP API (master)

TimedJob extends Job
in package

AbstractYes

Simple base class to extend to run periodic background jobs.

Call setInterval with your desired interval in seconds from the constructor.

Tags
since
15.0.0

Table of Contents

Properties

$allowParallelRuns  : bool
$argument  : mixed
$id  : int
$interval  : int
$lastRun  : int
$time  : ITimeFactory
$timeSensitivity  : int

Methods

__construct()  : mixed
execute()  : void
Run the job if the last run is more than the interval ago
getAllowParallelRuns()  : bool
getArgument()  : mixed
Get the argument associated with the background job This is the argument that will be passed to the background job
getId()  : int
Get the id of the background job This id is determined by the job list when a job is added to the list
getLastRun()  : int
Get the last time this job was run as unix timestamp
isTimeSensitive()  : bool
Whether the background job is time sensitive and needs to run soon after the scheduled interval, of if it is okay to be delayed until a later time.
setAllowParallelRuns()  : void
Set this to false to prevent two Jobs from this class from running in parallel
setArgument()  : mixed
setId()  : mixed
setInterval()  : mixed
Set the interval for the job
setLastRun()  : mixed
setTimeSensitivity()  : void
If your background job is not time sensitive (sending instant email notifications, etc.) it would be nice to set it to IJob::TIME_INSENSITIVE This way the execution can be delayed during high usage times.
start()  : void
Run the job if the last run is more than the interval ago
run()  : void
The actual function that is called to run the job

Properties

$allowParallelRuns

protected bool $allowParallelRuns = true

$argument

protected mixed $argument

$id

protected int $id = 0

$lastRun

protected int $lastRun = 0

$timeSensitivity

protected int $timeSensitivity = \OCP\BackgroundJob\IJob::TIME_SENSITIVE

Methods

execute()

Run the job if the last run is more than the interval ago

public final execute(IJobList $jobList[, ILogger|null $logger = null ]) : void

Use start() instead

Parameters
$jobList : IJobList
$logger : ILogger|null = null
Tags
since
15.0.0

getAllowParallelRuns()

public getAllowParallelRuns() : bool
Tags
since
27.0.0
Return values
bool

getArgument()

Get the argument associated with the background job This is the argument that will be passed to the background job

public getArgument() : mixed
Tags
since
15.0.0

getId()

Get the id of the background job This id is determined by the job list when a job is added to the list

public final getId() : int
Tags
since
15.0.0
Return values
int

getLastRun()

Get the last time this job was run as unix timestamp

public final getLastRun() : int
Tags
since
15.0.0
Return values
int

isTimeSensitive()

Whether the background job is time sensitive and needs to run soon after the scheduled interval, of if it is okay to be delayed until a later time.

public isTimeSensitive() : bool
Tags
since
24.0.0
Return values
bool

setAllowParallelRuns()

Set this to false to prevent two Jobs from this class from running in parallel

public setAllowParallelRuns(bool $allow) : void
Parameters
$allow : bool
Tags
since
27.0.0

setArgument()

public setArgument(mixed $argument) : mixed
Parameters
$argument : mixed
Tags
since
15.0.0

setId()

public final setId(int $id) : mixed
Parameters
$id : int
Tags
since
15.0.0

setInterval()

Set the interval for the job

public setInterval(int $seconds) : mixed
Parameters
$seconds : int

the time to pass between two runs of the same job in seconds

Tags
since
15.0.0

setLastRun()

public final setLastRun(int $lastRun) : mixed
Parameters
$lastRun : int
Tags
since
15.0.0

setTimeSensitivity()

If your background job is not time sensitive (sending instant email notifications, etc.) it would be nice to set it to IJob::TIME_INSENSITIVE This way the execution can be delayed during high usage times.

public setTimeSensitivity(int $sensitivity) : void
Parameters
$sensitivity : int
Tags
psalm-param

IJob::TIME_* $sensitivity

since
24.0.0

start()

Run the job if the last run is more than the interval ago

public final start(IJobList $jobList) : void
Parameters
$jobList : IJobList

The job list that manages the state of this job

Tags
since
25.0.0

run()

The actual function that is called to run the job

protected abstract run(mixed $argument) : void
Parameters
$argument : mixed
Tags
since
15.0.0

        
On this page

Search results