ruby-on-rails - 无法使用everyize在ruby中运行cronjob

标签 ruby-on-rails cron

我已点击此链接https://github.com/javan/whenever但我尝试在开发模式下运行 cronjob,但它不起作用。我想知道以下几行:

every 3.hours do
  runner "MyModel.some_process"       
  rake "my:rake:task"                 
  command "/usr/bin/my_great_command"
end

什么是MyModel.some_process

如果我想运行一个 ruby​​ 文件,我是这样写的

every 1.minute do
  runner "cronjob.rb",:environment => "development"
end

...这是正确的方法还是我必须指定 cronjob.rb 的路径文件如:

runner "app/controllers/cronjob.rb"

在哪里可以看到 rake 和命令的输出?

最佳答案

在此处查看有关运行者的更多信息 http://guides.rubyonrails.org/command_line.html#rails-runner .

据此,它在应用程序的上下文中运行 Ruby 代码。或者可以这么说,您可以为模型执行某种方法(每当文档试图显示时)。这在 Rails-2 中会略有不同。另外,如果您看到默认 job_types 的每当文档,例如 job_type 运行程序,它会执行以下操作 -

"cd :path && script/rails runner -e :environment ':task' :output"

所以当你这样做时runner "MyModel.some_process"schedule.rb它将转到应用程序路径并执行 script/rails runner -e <development specified by you> MyModel.some_process ,简而言之,它执行 MyModel.some_process 。希望这有帮助!

关于ruby-on-rails - 无法使用everyize在ruby中运行cronjob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512075/

相关文章:

python - django crontab 作业不工作

python - 如何使用 python 虚拟环境运行 cronjob?

ruby-on-rails - 如何从 rake route 排除引擎路线

ruby-on-rails - Rails 5 Assets 在开发中返回 404

ruby-on-rails - 如何测试 RSpec 中的相关(耦合)方法?

Python OpenWRT crontab

linux - 如何验证我的 cron 作业将在 AWS 上使用 Ubuntu 运行?

ruby-on-rails - 如何使用单选按钮将 nil 保存在数据库中

javascript - 全局位置(国家、地区、城市)为 Rails、jQuery 或 Google Maps API 选择插件?

python - 如果 Google App Engine cron 作业有 10 分钟的限制,那么为什么我会在正常的 30 秒后收到 DeadlineExceededError?