首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Rake与Rufus

使用Rake与Rufus
EN

Stack Overflow用户
提问于 2015-01-05 23:29:14
回答 2查看 188关注 0票数 2

我正在尝试使用rake和鲁弗斯,这两者我都是新手。我想让Rufus调用我的rake任务,但是我得到了以下错误。Don't know how to build task 'inbox:process_inbox'

列表/任务/收件箱_tasks.rb

代码语言:javascript
复制
namespace :inbox do
  task :process_inbox do
    logger = Logger.new(Rails.root.to_s + "/log/scheduler.log")
    logger.info "Rufus Here!"
  end
end

rufus_scheduler.rb

代码语言:javascript
复制
require 'rufus-scheduler'
require 'rake'

scheduler = Rufus::Scheduler.new

scheduler.every '10s', :first_at => Time.now + 3 do
  Rake::Task["inbox:process_inbox"]
end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-06 01:40:12

正如@jmettraux (,rufus-调度程序!的创建者)已经回答的那样,问题是rake任务是在.rb文件而不是.rake文件中定义的。

添加一些更多的细节,以帮助在未来。

在创建新的rake任务时,可以让rails生成器自动创建具有适当结构的文件。

示例:运行

代码语言:javascript
复制
> rails g task inbox process_inbox
create  lib/tasks/inbox.rake

将创建一个名为lib/tasks/inbox.rake的文件,其内容如下:

代码语言:javascript
复制
namespace :inbox do
 desc "TODO"
 task process_inbox: :environment do
 end 

end

在任务定义中有一个DESC很重要;这允许通过运行rake -T inboxrake -T | grep inbox来验证rake任务是否已定义和可用。

代码语言:javascript
复制
> rake -T inbox
rake inbox:process_inbox  # TODO
票数 2
EN

Stack Overflow用户

发布于 2015-01-06 01:23:33

这个能帮上忙吗?

如何构建任务‘db:填充’ (将inbox_tasks.rb重命名为inbox_tasks.rake)

(做了一个简单的https://www.google.com/?#q=rails+don%27t+know+how+to+build+task .)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27789707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档