* * @api * @since 100.0.2 */ class Job extends \Magento\Framework\DataObject { /** * @var RuleProductProcessor */ protected $ruleProcessor; /** * Basic object initialization * * @param RuleProductProcessor $ruleProcessor * @param array $data */ public function __construct( RuleProductProcessor $ruleProcessor, array $data = [] ) { $this->ruleProcessor = $ruleProcessor; parent::__construct($data); } /** * Dispatch event "catalogrule_apply_all" and set success or error message depends on result * * @return \Magento\CatalogRule\Model\Rule\Job * @api */ public function applyAll() { try { $this->ruleProcessor->markIndexerAsInvalid(); $this->setSuccess(__('Updated rules applied.')); } catch (\Magento\Framework\Exception\LocalizedException $e) { $this->setError($e->getMessage()); } return $this; } }