/** * 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(); } }