statisticsOpensRepository = $statisticsOpensRepository; $this->subscribersRepository = $subscribersRepository; } public function processTaskStrategy(ScheduledTask $task, $timer) { $subscribers = $this->subscribersRepository->findBy( ['engagementScoreUpdatedAt' => null], [], SubscribersEngagementScore::BATCH_SIZE ); foreach ($subscribers as $subscriber) { $this->statisticsOpensRepository->recalculateSubscriberScore($subscriber); } if ($subscribers) { $this->schedule(); } return true; } public function getNextRunDate() { return Carbon::createFromTimestamp($this->wp->currentTime('timestamp')); } }