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

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
2ad73e24e5f072cebb29a807b45a774e?d=identicon&s=25 Otto __ (otto)
on 2008-10-11 17:54
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:in `readuntil'
  from /usr/lib/ruby/1.8/net/protocol.rb:126:in `readline'
  from /usr/lib/ruby/1.8/net/smtp.rb:664:in `recv_response'
  from /usr/lib/ruby/1.8/net/smtp.rb:551:in `send0'
  from /usr/lib/ruby/1.8/net/smtp.rb:686:in `critical'
  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:in
`deliver'
  from /home/otto/send_gmail.rb:60:in `send_gmail'
  from /home/otto/teste_mail.rb:5:in `envia_email'
  from /home/otto/teste_mail.rb:8
----------


I got send_gmail.rb from this website:
http://codingfrenzy.alexpmay.com/2007/12/sending-g...

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

Thanks in advance
E0d864d9677f3c1482a20152b7cac0e2?d=identicon&s=25 Robert Klemme (Guest)
on 2008-10-13 10:54
(Received via mailing list)
2008/10/11 Otto __ <ottoteixeira@gmail.com>:
>  from /usr/lib/ruby/1.8/net/protocol.rb:118:in `readuntil'
>  from /home/otto/teste_mail.rb:5:in `envia_email'
>  from /home/otto/teste_mail.rb:8
> ----------
>
>
> I got send_gmail.rb from this website:
> http://codingfrenzy.alexpmay.com/2007/12/sending-g...
>
> 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
This topic is locked and can not be replied to.