public function run(Context $context) { foreach ($this->config['accounts'] as $account) { $job = new Job(CheckIncomingMailAccount::class, ['account' => $account]); $context->getDaemon()->enqueue($job); } }
public function run(Context $context) { $account = $context->getParam('account'); if (!$account) { $context->getLogger()->debug('No account provided, stopping job.'); return; } $mail = $this->getStorage($account); $mailCount = $mail->countMessages(); // We only check the latest 'n' messages, assumption that no more than this // amount of messages come in per day. $messagesToCheck = 100; $lastMessageIndex = max(1, $mailCount - $messagesToCheck); $context->getLogger()->debug(sprintf('Found %d messages, checking latest %d messages', $mailCount, $messagesToCheck)); for ($messageIndex = $mailCount; $messageIndex >= $lastMessageIndex; --$messageIndex) { $job = new Job(CheckIncomingMailMessage::class, ['account' => $account, 'message' => $messageIndex]); $context->getDaemon()->enqueue($job); } }