public function RadioactivityProcessor::processDecay in Radioactivity 8.3
Same name and namespace in other branches
- 4.0.x src/RadioactivityProcessor.php \Drupal\radioactivity\RadioactivityProcessor::processDecay()
Apply decay to entities.
Return value
int The number of decays processed.
Overrides RadioactivityProcessorInterface::processDecay
File
- src/
RadioactivityProcessor.php, line 102
Class
- RadioactivityProcessor
- Class RadioactivityProcessor.
Namespace
Drupal\radioactivityCode
public function processDecay() {
$resultCount = 0;
$processed = FALSE;
/** @var \Drupal\field\Entity\FieldStorageConfig[] $fieldConfigs */
$fieldConfigs = $this->entityTypeManager
->getStorage('field_storage_config')
->loadByProperties([
'type' => 'radioactivity',
]);
if (empty($fieldConfigs)) {
return 0;
}
foreach ($fieldConfigs as $fieldConfig) {
$profile = $fieldConfig
->getSetting('profile');
if ($fieldConfig
->hasData() && ($profile === 'linear' || $profile === 'decay') && $this
->hasReachedGranularityThreshold($fieldConfig)) {
$resultCount += $this
->processFieldDecay($fieldConfig);
$processed = TRUE;
}
}
if ($processed) {
$this->state
->set(self::LAST_PROCESSED_STATE_KEY, $this->requestTime);
}
$this->log
->notice('Processed @count radioactivity decays.', [
'@count' => $resultCount,
]);
return $resultCount;
}