<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 &lt; BackgrounDRb::MetaWorker<br><br>&nbsp; set_worker_name :postal_worker<br><br>&nbsp; def create<br>&nbsp;&nbsp;&nbsp; # this method is called, when worker is loaded for the first time<br>
&nbsp; end<br><br>&nbsp; def email_admin(p_subject,p_body)<br>&nbsp;&nbsp;&nbsp; Emailer.deliver_send_info(p_subject,p_body,Time.now)<br>&nbsp; end<br><br>end<br>==============================<br># Rails controller code<br>class FooController &lt; ApplicationController<br>
<br>def bar<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; worker = MiddleMan.worker(:postal_worker)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result = worker.email_admin(&#39;Some subject&#39;,&#39;And some body&#39;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; render :text =&gt; &quot;Check your email &quot; + Time.now.to_s<br>
end<br>================================<br># Rails nodel code<br>class Emailer &lt; ActionMailer::Base<br><br>&nbsp; def send_info(subject,message,sent_at = Time.now)<br>&nbsp;&nbsp;&nbsp; @subject&nbsp;&nbsp;&nbsp; = subject<br>&nbsp;&nbsp;&nbsp; @body&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = {:message =&gt; message}<br>
&nbsp;&nbsp;&nbsp; @recipients = &#39;<a href="mailto:raghu.srinivasan@gmail.com">raghu.srinivasan@gmail.com</a>&#39;<br>&nbsp;&nbsp;&nbsp; @from&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = &#39;&#39;<br>&nbsp;&nbsp;&nbsp; @sent_on&nbsp;&nbsp;&nbsp; = sent_at<br>&nbsp;&nbsp;&nbsp; @headers&nbsp;&nbsp;&nbsp; = {}<br>&nbsp; end<br><br>end<br>======================================<br>
<br>