Cron工作无法在开发中的每当宝石中工作

时间:2019-02-24 07:50:29

标签: ruby-on-rails ruby whenever

我已经在我的模型中编写了此方法:-

l_input = lse.layers.InputLayer(shape=(None, 28, 28),input_var=input_var)
l_reshape = lse.layers.ReshapeLayer(l_input, ((None, 28*28))
ldrop=lse.layers.DropoutLayer(l_reshape, p=0.2)
# etc...

然后我更新了schedule.rb文件:-

class Message < ActiveRecord::Base
  def self.create_message
    ShortMessage.create(message: "cron job")
    puts "created"
  end
end

最后执行了所有这些命令:-

every 1.minute do
  runner "Message.create_message", :environment => "development"
end

但是从控制台 ShortMessage.last

进行检查时,数据库中没有任何内容

2 个答案:

答案 0 :(得分:1)

Cron不会初始化完整的会话,如果您使用的是rvm之类的ruby版本管理器-可能无法加载它,要在cron中使用,您需要使用ruby包装器或加载rvm,有关更多详细信息,请查看rvm documentation about cron,用于cron的命令看起来像

t_i Var1-1 Var1-2 ... VarN-M

答案 1 :(得分:0)

清除现有的cron作业。

crontab -r

使用环境更新cronjob。

whenever --update-crontab --set environment='development'