Условная / отложенная рассылка с resque?

У меня есть приложение, которое создает множество документов PDF, которые иногда занимают время, поэтому я переместил все создание PDF в фоновое задание. Тем не менее, некоторые PDF-файлы также должны быть отправлены по почте, что в настоящее время является проблемой, потому что я не знаю, как сказать почтовику ждать, пока PDF-файлы будут созданы.

Прежде чем у меня было это:

@contract.create_invoice
ContractMailer.send_invoice(@contract).deliver

Теперь у меня есть это:

Resque.enqueue(InvoiceCreator, @contract)
ContractMailer.send_invoice(@contract).deliver

Таким образом, ContractMailer всегда терпит неудачу, потому что PDF еще не создан. У кого-нибудь есть идеи, как решить это элегантно?

Спасибо!

0 ответов

Другие вопросы по тегам