AbstractQueuedJob
abstract class AbstractQueuedJob implements QueuedJob, UserContextInterface (View source)
A base implementation of a queued job that provides some convenience for implementations
This implementation assumes that when you created your job class, you initialised the jobData with relevant variables needed to process() your job later on in execution. If you do not, please ensure you do before you queueJob() the job, to ensure the signature that is generated is 'correct'.
Properties
protected | stdClass | $jobData | ||
protected | array | $messages | ||
protected | int | $totalSteps | ||
protected | int | $currentStep | ||
protected | bool | $isComplete |
Methods
Sets a data object for persisting by adding its id and type to the serialised vars
Specifies what user ID should be when running the job valid values: null - (default) - run the job as current user 0 - run the job without a user greater than zero - run the job as a specific user
Method for determining whether the job is finished - you may override it if there's more to it than just this
No description
Details
__construct($params = array())
Extensions can have a construct but don't have too.
Without a construct, it's impossible to create a job in the CMS
abstract string
getTitle()
No description
protected
setObject(DataObject $object, string $name = 'Object')
Sets a data object for persisting by adding its id and type to the serialised vars
protected DataObject|null
getObject(string $name = 'Object')
No description
string
getSignature()
Return a signature for this queued job
protected string
randomSignature()
Generate a somewhat random signature
useful if you're want to make sure something is always added
getJobType()
By default jobs should just go into the default processing queue
int|null
getRunAsMemberID()
Specifies what user ID should be when running the job valid values: null - (default) - run the job as current user 0 - run the job without a user greater than zero - run the job as a specific user
This is useful in situations like:
- a job needs to always run without a user (like a static cache job)
- a job needs to run as a specific user (for example data migration job)
Note that this value can be overridden in the QueuedJobService::queueJob()
setup()
Performs setup tasks the first time this job is run.
This is only executed once for every job. If you want to run something on every job restart, use the prepareForRestart method.
prepareForRestart()
Run when an already setup job is being restarted.
abstract
process()
Do some processing yourself!
jobFinished()
Method for determining whether the job is finished - you may override it if there's more to it than just this
afterComplete()
Called when the job is determined to be 'complete'
getJobData()
No description
setJobData(int $totalSteps, int $currentStep, bool $isComplete, stdClass $jobData, array $messages)
No description
array|null
getCustomConfig()
Gets custom config settings to use when running the job.
setCustomConfig(array $config)
Sets custom config settings to use when the job is run.
addMessage(string $message, string $severity = 'INFO')
No description
__set(mixed $name, mixed $value)
Convenience methods for setting and getting job data
mixed
__get(mixed $name)
Retrieve some job data