-1

我是 Rails 领域的新手。刚从头开始用rails自己完成了我的第一个项目。而且,现在我必须从事由其他人完成的第二个项目。

在这个项目中,/lib/tasks 目录下有一个名为 scheduler.rake 的文件。

据我了解,它被用于 cron 工作。我需要对此项目进行一些修改并添加一些新功能。所以,我需要运行这个 scheduler.rake 文件并且必须了解它是如何工作的。谁能帮助我如何在 Rails 中运行这样的 rake 调度程序以及它是如何工作的?任何形式的帮助将不胜感激。

4

4 回答 4

2

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 命令和任务名称作为第一个参数即可执行任务。

于 2012-10-18T04:45:07.107 回答
0

如果你一定要理解它,你宁愿阅读任务文件中的代码而不是运行它。

rake 文件中只有 ruby​​ 代码(在特殊的 dsl 中)。

如果你喜欢 Rails,了解 rake 也是值得的。这是其创建者 Jim Weirich 的Rake 介绍视频

于 2012-10-18T04:56:06.303 回答
0

试试这将运行 rake 任务

      rake scheduler
于 2012-10-18T04:47:32.863 回答
-1

rake要先明白。Rake 是一个构建工具,用 Ruby 编写,使用 Ruby 作为构建语言。Rake 支持规则模式来合成隐式任务。Jason Seifer对 rake 有出色的演练

于 2012-10-18T06:01:07.490 回答