Общим шаблоном для взаимодействия с ActionJob
в Rails является настройка задания с помощью метода perform()
, который вызывается асинхронно через perform_now
или perform_later
В специальном случае Mailers вы можете напрямую вызвать deliver_now
или deliver_later
, так как ActionJob
хорошо интегрирован с ActionMailer
.
Документация rails содержит следующие комментарии -
# If you want to send the email now use #deliver_now
UserMailer.welcome(@user).deliver_now
# If you want to send the email through Active Job use #deliver_later
UserMailer.welcome(@user).deliver_later
В формулировке кажется, что deliver_now
не будет использовать ActiveJob
для отправки почты. Это правильно, и если да, то какова истинная разница между deliver_now
и deliver_later
? Не является ли асинхронным?
Аналогично, то же самое относится к perform_now
и perform_later
?
Спасибо!