@Override public Object run() { final int totalPendingRecipients = emailPersistenceService.countPendingRecipients(); int pending = totalPendingRecipients; int page = 0, sent = 0; while (pending > 0) { for (Email.Addressee addressee : emailPersistenceService.listPendingRecipients(page * emailsPerPage, emailsPerPage)) { if(emailSender.send(addressee)){ emailPersistenceService.markAsSent(addressee); sent++; } } pending -= emailsPerPage; page++; } getLogger().info("{} sent from total of {}", sent, totalPendingRecipients); return sent + " sent from total of "+totalPendingRecipients; }
@Override public Object run() { final int totalPendingRecipients = emailPersistenceService.countPendingRecipients(); int pending = totalPendingRecipients; int page = 0, sent = 0; while (pending > 0) { String identifier = Optional.ofNullable(identifierModule).orElse(SingularProperties.get().getProperty(EMAIL_COD_MODULE)); for (Email.Addressee addressee : emailPersistenceService.listPendingRecipients(page * emailsPerPage, emailsPerPage, identifier)) { if(emailSender.send(addressee)){ emailPersistenceService.markAsSent(addressee); sent++; } } pending -= emailsPerPage; page++; } getLogger().info("{} sent from total of {}", sent, totalPendingRecipients); return sent + " sent from total of "+totalPendingRecipients; }