无论何时安排,ActionMailer都不起作用

时间:2018-12-02 01:49:27

标签: ruby-on-rails

我目前有一个正常工作的邮件程序,我想使用everyth gem进行自动化。

app / models / athlete.rb

class Athlete < ApplicationRecord

# Snippet for brevity

  def self.factivity_email
    @athlete = Athlete.all
    @athlete.each do |u|
      ActivityMailer.factivity_required(u.email).deliver_now
    end
  end

end

如果我在Rails控制台中运行Athlete.factivity_email,则我的收件箱中会收到一封电子邮件。因此,我尝试通过每两分钟运行Athlete.factivity_email来测试我的schedule.rb,但我从未收到电子邮件。

config / schedule.rb

# Learn more: http://github.com/javan/whenever
set :environment, :development

every 2.minutes do
  runner "Athlete.factivity_email"
end

当我在控制台中运行crontab -l时,我会看到cron作业

0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * * /bin/bash -l -c 'cd /home/ueadmin/athletic && bundle exec bin/rails runner -e development '\''Athlete.factivity_email'\'''

如果我在控制台中运行mail,则会看到每两分钟显示一次:

 U  36 Cron Daemon        Sat Dec  1 14:48  21/774   Cron <ueadmin@ue-ubuntu> /bin/bash -l -c 'cd /home/ueadmin/athletic && bundle exec bin/rails runner -e production '\''Athlete.factivity_email'\'''

我很困惑,因为factivity_email在rails控制台中按预期方式执行,但是在任何时候自动发送都不会发送。

0 个答案:

没有答案
相关问题