protected function JobScheduler::doUpdate in Job Scheduler 8.2
Updates a record to the database.
Parameters
array $job: The job to update.
$primary_keys: An array of the primary keys field names.
Throws
\Drupal\job_scheduler\JobSchedulerException Thrown if the job parameters are incorrect.
See also
\Drupal\job_scheduler\JobScheduler::reschedule()
\Drupal\job_scheduler\JobScheduler::reserve()
2 calls to JobScheduler::doUpdate()
- JobScheduler::reschedule in src/
JobScheduler.php - Re-schedules a job if intended to run again.
- JobScheduler::reserve in src/
JobScheduler.php - Reserves a job.
File
- src/
JobScheduler.php, line 307
Class
- JobScheduler
- Manage scheduled jobs.
Namespace
Drupal\job_schedulerCode
protected function doUpdate(array $job, $primary_keys) {
$fields = [];
foreach ($job as $key => $value) {
if (!in_array($key, $primary_keys)) {
$fields[$key] = $value;
}
}
$query = $this->database
->update('job_schedule')
->fields($fields);
foreach ($primary_keys as $key) {
if (!isset($job[$key])) {
throw new JobSchedulerException(t('Could not find job parameter: @parameter', [
'@parameter' => $key,
]));
}
$query
->condition($key, $job[$key]);
}
$query
->execute();
}