【问题标题】:Gem 'whenever' in rails 4宝石'无论何时'在rails 4
【发布时间】:2017-01-31 11:10:54
【问题描述】:

我尝试使用无论何时 gem 自动发送消息。我在第一步。我“随时”安装 gem。我完成了以下步骤。
1. 在 gemfile 中添加 "gem 'whenever', :require => false"。
2. 捆绑安装。
3. 无论何时。
4.在schedule.rb中添加如下代码,

set :output, "#{path}/log/cron.log" 
#every 1.day, :at => '4:30 am' do
every 5.minutes do    
   runner "Payment.sendMessage", :environment => "development"
end  

5.而且模特喜欢,

class Payment < ActiveRecord::Base
  def sendMessage
    puts"Hello"
  end
end  

6。当我每次使用 bundle exec 时,我都会遇到以下问题

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash -l -c     
'cd /home/prabha/rails_job && bundle exec bin/    
         rails runner -e development '\''Payment.sendMessage'\'' >>     
/home/prabha/rails_job/log/cron.log 2>&1'
## [message] Above is your schedule file converted to cron syntax;  
 your  crontab file was not updated.
## [message] Run `whenever --help' for more options.  

我被这一步困住了。我想进一步进行什么?任何人都可以指导我。
谢谢。

【问题讨论】:

    标签: ruby-on-rails-4 whenever


    【解决方案1】:

    你需要更新你的 crontab 文件。

    执行以下操作 -

    whenever --update-crontab
    

    更多信息,请随时查看gem的Github ReadMe page

    【讨论】:

    • 我运行这个命令。它显示 Crontab 文件已更新。当我再次运行 bundle exec 时,它会得到相同的错误。这是我遵循的正确流程吗?
    • 我刚刚测试了你的代码。该消息 - 您的 crontab 文件未更新。 - 只是一个消息。我刚刚运行了您的代码,CRON 已更新。通过 - crontab -l 检查您的 CRON 列表,您将能够看到您的 CRON 已更新。
    【解决方案2】:

    1) sendMessage 应该是一个类方法。 2) 您可以在项目目录中使用“whenever”命令查看 cron 配置,然后复制到您的 crontab 中。

    【讨论】:

    • 金代,我把 Payment.rb def sendMessage 改成 def self.sendMessage
    猜你喜欢
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多