I'm trying to send a simple email that needs to be delayed for on hour. Emails overall work well and I can call deliver_now
and deliver_later
with no problem. However, if I call the same email deliver_later(wait: 1.hour)
(as documented here: http://edgeapi.rubyonrails.org/classes/ActionMailer/MessageDelivery.html#method-i-deliver_later) I get the following error:
ArgumentError (wrong number of arguments (1 for 0))
On the same line as deliver_later(wait: 1.hour)
. The stack trace doesn't show any other lines in my code.
Here's my mailer:
def project_reminder(project_id)
@project = Project.find project_id
@user = @project.user
mail(to: user_email(@user), subject: "Project Reminder")
end
And the relevant code in my controller:
def remind
@project = current_user.projects.find(params[:project_id])
UserMailer.project_reminder(@project.id).deliver_later(wait: 10.minutes)
end
Also, I'm using sidekiq 4.1.0 with redis as my queue adapter.