所以我有一个每10分钟运行一次的方法(Background.cron)。
Background.cron通过一组数据库行循环,如果符合某些条件,则运行一个ActionMailer方法发送一封电子邮件。
但是,当ActionMailer方法运行时,似乎正在发生的事情是(根据我的日志),Background.cron方法将停止,直到下一个cron作业准备好开始。
有什么解释呢?
服务器设置是Passenger和Ruby Enterprise Edition的Apache 2。
PassengerMaxPoolSize设置为10,PassengerMaxInstancesPerApp为5。
Slicehost上有一个512MB的片。
听起来像Ruby脚本在那个时候正在轰炸。 包装你的邮件方法,并捕捉引发的exception,并logging? 另外,请检查您的用户本地邮箱。 Cron可能已经通过电子邮件向你发送了一个Ruby BT。