inactive_subscribers_controller = $inactive_subscribers_controller; $this->settings = $settings; parent::__construct($timer); } function processTaskStrategy(ScheduledTask $task) { $days_to_inactive = (int)$this->settings->get('deactivate_subscriber_after_inactive_days'); $tracking_enabled = (bool)$this->settings->get('tracking.enabled'); if ($days_to_inactive === 0 || !$tracking_enabled) { self::schedule(); return true; } while ($this->inactive_subscribers_controller->markInactiveSubscribers($days_to_inactive, self::BATCH_SIZE) === self::BATCH_SIZE) { CronHelper::enforceExecutionLimit($this->timer); }; while ($this->inactive_subscribers_controller->markActiveSubscribers($days_to_inactive, self::BATCH_SIZE) === self::BATCH_SIZE) { CronHelper::enforceExecutionLimit($this->timer); }; self::schedule(); return true; } }