我是 Rails 领域的新手。刚从头开始用rails自己完成了我的第一个项目。而且,现在我必须从事由其他人完成的第二个项目。
在这个项目中,/lib/tasks 目录下有一个名为 scheduler.rake 的文件。
据我了解,它被用于 cron 工作。我需要对此项目进行一些修改并添加一些新功能。所以,我需要运行这个 scheduler.rake 文件并且必须了解它是如何工作的。谁能帮助我如何在 Rails 中运行这样的 rake 调度程序以及它是如何工作的?任何形式的帮助将不胜感激。
我是 Rails 领域的新手。刚从头开始用rails自己完成了我的第一个项目。而且,现在我必须从事由其他人完成的第二个项目。
在这个项目中,/lib/tasks 目录下有一个名为 scheduler.rake 的文件。
据我了解,它被用于 cron 工作。我需要对此项目进行一些修改并添加一些新功能。所以,我需要运行这个 scheduler.rake 文件并且必须了解它是如何工作的。谁能帮助我如何在 Rails 中运行这样的 rake 调度程序以及它是如何工作的?任何形式的帮助将不胜感激。
lib/tasks 中的所有任务都可以通过以下命令列出:
rake -T
如果您没有在响应列表中看到您的命令,那么它的格式不正确或没有描述。所以你需要调查你的 rake 文件。Rake 任务文件具有类似的结构,例如:
namespace :some_task do
task :do_some_work => :environment do
# Code goes here
end
desc 'Do some other work'
task :do_something => :environment do
# Code goes here
end
end
在这段代码中,有两个任务,每个任务都可以像这样执行:
#first task
rake some_task:do_some_work
#second task
rake some_task:do_something
有时可能没有命名空间,然后只需使用 rake 命令和任务名称作为第一个参数即可执行任务。
如果你一定要理解它,你宁愿阅读任务文件中的代码而不是运行它。
rake 文件中只有 ruby 代码(在特殊的 dsl 中)。
如果你喜欢 Rails,了解 rake 也是值得的。这是其创建者 Jim Weirich 的Rake 介绍视频。
试试这将运行 rake 任务
rake scheduler
你rake
要先明白。Rake 是一个构建工具,用 Ruby 编写,使用 Ruby 作为构建语言。Rake 支持规则模式来合成隐式任务。Jason Seifer对 rake 有出色的演练。