summaryrefslogtreecommitdiff
path: root/app/workers/mail_scheduler
Commit message (Collapse)AuthorAgeFilesLines
* Enable frozen string for app/workers/**/*.rbgfyoung2018-06-272-0/+4
| | | | Partially addresses #47424.
* Move NotificationService calls to SidekiqSean McGivern2018-04-252-2/+19
| | | | | | | | | | | | | | | | | | | | | The NotificationService has to do quite a lot of work to calculate the recipients for an email. Where possible, we should try to avoid doing this in an HTTP request, because the mail are sent by Sidekiq anyway, so there's no need to schedule those emails immediately. This commit creates a generic Sidekiq worker that uses Global ID to serialise and deserialise its arguments, then forwards them to the NotificationService. The NotificationService gains an `#async` method, so you can replace: notification_service.new_issue(issue, current_user) With: notification_service.async.new_issue(issue, current_user) And have everything else work as normal, except that calculating the recipients will be done by Sidekiq, which will then schedule further Sidekiq jobs to send each email.
* Send emails for issues due tomorrowSean McGivern2018-03-301-0/+14
Also, refactor the mail sending slightly: instead of one worker sending all emails, create a worker per project with issues due, which will send all emails for that project.