refactor(manager): parallelize sent emails retrieval

This commit is contained in:
Colin Darie 2024-10-03 10:42:47 +02:00
parent dbb34d2b36
commit 366c95af7d
No known key found for this signature in database
GPG key ID: 4FB865FDBCA4BCC4

View file

@ -79,14 +79,17 @@ module Manager
email_services = [
Sendinblue::API.new,
Dolist::API.new
]
].filter(&:properly_configured?)
@sent_mails = email_services
.filter(&:properly_configured?)
.map { |api| api.sent_mails(@user.email) }
.flatten
.sort_by(&:delivered_at)
.reverse
@sent_mails = Concurrent::Array.new
email_services.map do |api|
Thread.new do
mails = api.sent_mails(@user.email)
@sent_mails.concat(mails)
end
end.each(&:join)
@sent_mails.sort_by!(&:delivered_at).reverse!
end
def unblock_email