gpt4 book ai didi

ruby-on-rails - 在 Rufus 中使用 Rake

转载 作者:数据小太阳 更新时间:2023-10-29 08:37:27 25 4
gpt4 key购买 nike

我正在尝试使用 rake 和 rufus ,这两个我都是新手。我想让 Rufus 调用我的 rake 任务,但我收到以下错误。 不知道如何构建任务 'inbox:process_inbox'

lib/tasks/inbox_tasks.rb

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

require 'rufus-scheduler'
require 'rake'

scheduler = Rufus::Scheduler.new

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

最佳答案

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

添加更多详细信息以在将来提供帮助。

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

例子:运行

> rails g task inbox process_inbox
create lib/tasks/inbox.rake

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

namespace :inbox do
desc "TODO"
task process_inbox: :environment do
end

end

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

> rake -T inbox
rake inbox:process_inbox # TODO

关于ruby-on-rails - 在 Rufus 中使用 Rake,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27789707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com