Есть воркер, который делает долгие вычисления и в процессе своей работы создает новые записи в БД (создает mails), но в процессе создания mails, mail_group, к которой они относятся, может быть удалена.
class Mail
belongs_to :mail_group
end
Я думаю использовать foreign keys чтобы мониторить наличие группы в процессе создания новый мейлов.
Еще пришла идея использовать двухфазное удаление, т.е. группа помечается как удаленная, но не удаляется до тех пор пока есть работающие воркеры и каждый воркер в конце своей работы "пытается удалить группу".