Ruby on rails 无法使用WhenVerize在ruby中运行cronjob
我遵循了这个链接,但我试图在开发模式下运行cronjob,因为它不起作用。我想知道以下几行:Ruby on rails 无法使用WhenVerize在ruby中运行cronjob,ruby-on-rails,cron,Ruby On Rails,Cron,我遵循了这个链接,但我试图在开发模式下运行cronjob,因为它不起作用。我想知道以下几行: every 3.hours do runner "MyModel.some_process" rake "my:rake:task" command "/usr/bin/my_great_command" end 什么是MyModel.some_流程 如果我想运行ruby文件,我是这样写的 every 1.minute do runner
every 3.hours do
runner "MyModel.some_process"
rake "my:rake:task"
command "/usr/bin/my_great_command"
end
什么是MyModel.some_流程
如果我想运行ruby文件,我是这样写的
every 1.minute do
runner "cronjob.rb",:environment => "development"
end
。。。这是正确的方法还是必须指定cronjob.rb
文件的路径,如:
runner "app/controllers/cronjob.rb"
我在哪里可以看到rake和command的输出?请在此处查看有关runner的更多信息
根据它的说法,它在应用程序的上下文中运行Ruby代码。也就是说,您可以为模型执行某些方法(只要文档试图显示该方法)。这与Rails-2略有不同。此外,如果您看到默认作业类型(例如,作业类型运行程序)的where文档,它会执行以下操作-
"cd :path && script/rails runner -e :environment ':task' :output"
因此,当您在schedule.rb中执行runner“MyModel.some_process”
时,它将转到应用程序路径并执行脚本/rails runner-e MyModel.some_process
,简而言之,它执行MyModel.some_process
。希望这有帮助