<a href="mailto:backgroundrb-devel@rubyforge.org"><span class="nfakPe"></span></a>I am trying to send email as a background process from within a Rails app.<br><br>The goal is that when I go to <a href="http://mysite.com/foo/bar">http://mysite.com/foo/bar</a>, the background job kicks in and sends an email out. The relevant code snippets are below.<br>
<br>This errors out with a wrong number of arguments passed (2 for 1) message. I think I am making a mess of passing parameters to the email_admin method in the worker. How should I be passing multiple parameters to email_admin? <br>
<br>Thanks<br><br>==============================<br># Worker Code<br>class PostalWorker < BackgrounDRb::MetaWorker<br><br> set_worker_name :postal_worker<br><br> def create<br> # this method is called, when worker is loaded for the first time<br>
end<br><br> def email_admin(p_subject,p_body)<br> Emailer.deliver_send_info(p_subject,p_body,Time.now)<br> end<br><br>end<br>==============================<br># Rails controller code<br>class FooController < ApplicationController<br>
<br>def bar<br> worker = MiddleMan.worker(:postal_worker)<br> result = worker.email_admin('Some subject','And some body')<br> render :text => "Check your email " + Time.now.to_s<br>
end<br>================================<br># Rails nodel code<br>class Emailer < ActionMailer::Base<br><br> def send_info(subject,message,sent_at = Time.now)<br> @subject = subject<br> @body = {:message => message}<br>
@recipients = '<a href="mailto:raghu.srinivasan@gmail.com">raghu.srinivasan@gmail.com</a>'<br> @from = ''<br> @sent_on = sent_at<br> @headers = {}<br> end<br><br>end<br>======================================<br>
<br>