Example #1
0
 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);
     }
 }