小编use*_*556的帖子

Rails,在开发中使用gem时使用

对不起快速问题来自相关的Rails新手.我正在尝试使用Whenever gem来安排一些rake任务.我不能为我的生活让它真正开始在我的开发机器上运行cron作业.

从其他stackoverflow线程来看,似乎我应该添加:

set :environment, "development"
Run Code Online (Sandbox Code Playgroud)

到我的schedule.rb文件.但那又怎样?

然后,一旦他们开始,我该如何停止cron工作?

在OSX中使用Rails 3.2.3

更新:答案是运行$ whenever -w将cron作业写入crontab文件.然后系统立即开始自动运行该crontab文件.

不幸的是,我的日志文件包含以下内容: "rake aborted! Don't know how to build task <task name>"

我想这可能是由于已知的crontab/rvm问题,但欢迎任何建议.

ruby-on-rails whenever

39
推荐指数
2
解决办法
2万
查看次数

如何使用Rails发条宝石来运行rake任务?

从发条中调用rake任务的语法是什么?我尝试了各种语法,似乎没什么用.(我对钟表工作特别感兴趣,因为Heroku支持它.)

这是我的clock.rb,使用的是when gem使用的相同语法:

module Clockwork
  puts "testing clockwork!"
  every(30.seconds, 'Send Messages') {
    rake 'scheduler:send_messages'
    }
end
Run Code Online (Sandbox Code Playgroud)

这是我在scheduler.rake中的rake任务:

task :send_messages => :environment do
  puts "rake task run successfully!"
end
Run Code Online (Sandbox Code Playgroud)

这是我开始发条过程时会发生的事情:

$ clockwork lib/clock.rb
testing clockwork!
I, [2012-07-16T14:42:58.107245 #46427]  INFO -- : Starting clock for 1 events: [ Send Messages ]
I, [2012-07-16T14:42:58.107364 #46427]  INFO -- : Triggering 'Send Messages'
attempting to run rake task!
E, [2012-07-16T14:42:58.107437 #46427] ERROR -- : undefined method `rake' for Clockwork:Module (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

每30秒运行一次.如您所见,clock.rb已成功执行.但我不能为我的生活弄清楚运行rake任务的语法.不幸的是,发条自述没有帮助:

https://github.com/tomykaira/clockwork

rake ruby-on-rails heroku

11
推荐指数
1
解决办法
6780
查看次数

标签 统计

ruby-on-rails ×2

heroku ×1

rake ×1

whenever ×1