Пример #1
0
 /**
  * Gets the rule scheduler entity.
  */
 public function getRuleScheduler()
 {
     if (isset($this->configuration['rng_rule_scheduler'])) {
         return RuleSchedule::load($this->configuration['rng_rule_scheduler']);
     }
     return NULL;
 }
 /**
  * {@inheritdoc}
  *
  * @param $data
  *   - rule_component_id: integer: ID of a rule component entity.
  */
 public function processItem($data)
 {
     /** @var RuleSchedule $rule_schedule */
     $rule_schedule = RuleSchedule::load($data['rule_component_id']);
     $rule_schedule->incrementAttempts();
     $rule_schedule->save();
     if ($component = $rule_schedule->getComponent()) {
         $rule = $component->getRule();
         $event_meta = \Drupal::service('rng.event_manager')->getMeta($rule->getEvent());
         $event_meta->trigger($rule->getTriggerID(), ['registrations' => $event_meta->getRegistrations()]);
         $rule_schedule->delete();
     }
 }