Общим шаблоном для взаимодействия с 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?
Спасибо!