Script runs fine alone but not when called by cron (EPIPE)


#1

Hey, I’m still learning ruby (first week) and I’m having problem with a
script that sends an e-mail.
The script (~/teste_email.rb) runs fine when I call it, but raises and
exception when ran as a cron task.

This is the stack trace:

write': Broken pipe (Errno::EPIPE) from /usr/lib/ruby/1.8/net/protocol.rb:139:in<<’
from /usr/lib/ruby/1.8/net/protocol.rb:139:in rbuf_consume' from /usr/lib/ruby/1.8/net/protocol.rb:118:inreaduntil’
from /usr/lib/ruby/1.8/net/protocol.rb:126:in readline' from /usr/lib/ruby/1.8/net/smtp.rb:664:inrecv_response’
from /usr/lib/ruby/1.8/net/smtp.rb:551:in send0' from /usr/lib/ruby/1.8/net/smtp.rb:686:incritical’
from /usr/lib/ruby/1.8/net/smtp.rb:548:in send0' ... 7 levels... from /var/lib/gems/1.8/gems/actionmailer-2.1.1/lib/action_mailer/base.rb:414:indeliver’
from /home/otto/send_gmail.rb:60:in send_gmail' from /home/otto/teste_mail.rb:5:inenvia_email’
from /home/otto/teste_mail.rb:8

I got send_gmail.rb from this website:

Why does it run fine when I call it myself and how do I make it run ok
from cron?

Thanks in advance


#2

2008/10/11 Otto __ removed_email_address@domain.invalid:

from /usr/lib/ruby/1.8/net/protocol.rb:118:in readuntil' from /home/otto/teste_mail.rb:5:inenvia_email’
from /home/otto/teste_mail.rb:8

I got send_gmail.rb from this website:
http://codingfrenzy.alexpmay.com/2007/12/sending-gmail-from-standalone-ruby.html

Why does it run fine when I call it myself and how do I make it run ok
from cron?

You do not give near as much detail as needed to properly answer your
question. Though chances are that the reason lies in different
environments. Things to look for are PATH and LD_LIBRARY_PATH.

Cheers

robert