BaseBatchedJob ​
- Type
- Abstract Class
- Namespace
- craft\queue
- Inherits
- craft\queue\BaseBatchedJob » craft\queue\BaseJob » yii\base\BaseObject
- Implements
- craft\queue\JobInterface, yii\base\Configurable
- Extended by
- craft\queue\BaseBatchedElementJob, craft\queue\jobs\ApplyNewPropagationMethod, craft\queue\jobs\FindAndReplace, craft\queue\jobs\PropagateElements, craft\queue\jobs\ResaveElements
- Since
- 4.4.0
BaseBatchedJob is the base class for large jobs that may need to spawn additional jobs to complete the workload.
WARNING
Batched jobs should always be pushed to the queue using craft\helpers\Queue::push(), so the priority
and ttr
settings can be maintained for additional spawned jobs.
WARNING
Spawned jobs are cloned from the current job, so any public properties that are set to objects which aren’t serialize()
-friendly should be excluded via __sleep()
, and any private/protected properties will need to be reset to their default values via __wakeup()
to avoid uninitialized property errors.
Public Properties ​
Property | Description |
---|---|
batchIndex | integer – The index of the current batch (starting with 0 ) |
batchSize | integer – The number of items that should be processed in a single batch |
description | string, null – The configured job description. |
itemOffset | integer – The offset to start fetching items by. |
priority | integer, null – The job’s priority |
ttr | integer, null – The job’s TTR |
batchIndex
​
- Type
- integer
- Default value
0
The index of the current batch (starting with 0
)
batchSize
​
- Type
- integer
- Default value
100
The number of items that should be processed in a single batch
itemOffset
​
- Type
- integer
- Default value
0
The offset to start fetching items by.
priority
​
The job’s priority
ttr
​
The job’s TTR
Public Methods ​
Method | Description |
---|---|
__call() | Calls the named method which is not a class method. |
__construct() | Constructor. |
__get() | Returns the value of an object property. |
__isset() | Checks if a property is set, i.e. defined and not null. |
__set() | Sets value of an object property. |
__sleep() | |
__unset() | Sets an object property to null. |
__wakeup() | |
canGetProperty() | Returns a value indicating whether a property can be read. |
canSetProperty() | Returns a value indicating whether a property can be set. |
className() | Returns the fully qualified name of this class. |
execute() | |
getDescription() | Returns the description that should be used for the job. |
hasMethod() | Returns a value indicating whether a method is defined. |
hasProperty() | Returns a value indicating whether a property is defined. |
init() | Initializes the object. |
__sleep()
​
execute()
​
Arguments ​
$queue
(yii\queue\Queue, craft\queue\QueueInterface) – The queue the job belongs to
getDescription()
​
Returns the description that should be used for the job.
Returns ​
Protected Methods ​
Method | Description |
---|---|
after() | Does things after the last item of the last batch. |
afterBatch() | Does things after the last item of the current batch. |
before() | Does things before the first item of the first batch. |
beforeBatch() | Does things before the first item of the current batch. |
data() | Returns the batchable data. |
defaultDescription() | Returns a default description for getDescription(). |
loadData() | Loads the batchable data. |
processItem() | Processes an item. |
setProgress() | Sets the job progress on the queue. |
totalBatches() | Returns the total number of batches. |
totalItems() | Returns the total number of items across all the batches. |
after()
​
- Since
- 5.0.0
Does things after the last item of the last batch.
afterBatch()
​
- Since
- 5.0.0
Does things after the last item of the current batch.
before()
​
- Since
- 5.0.0
Does things before the first item of the first batch.
beforeBatch()
​
- Since
- 5.0.0
Does things before the first item of the current batch.
data()
​
Returns the batchable data.
Returns ​
loadData()
​
Loads the batchable data.
Returns ​
processItem()
​
Processes an item.
Arguments ​
$item
(mixed
)
totalBatches()
​
Returns the total number of batches.
Returns ​
totalItems()
​
Returns the total number of items across all the batches.