【问题标题】:Don't know how to build task 'weeklydelete'不知道如何构建任务“weeklydelete”
【发布时间】:2014-04-15 08:30:41
【问题描述】:

所以,我正在尝试使用我的 cron_job 任务设置 Heroku scheduler,并且在运行 heroku run rake weekdelete 时出现以下错误:

Don't know how to build task 'weeklydelete'

我的任务代码如下所示:

task :weeklydelete do
  set :output, "#{path}/log/cron.log"
  job_type :script, "'#{path}/script/:task' :output"

  every :sunday, at: "3:00 AM" do
  runner "Event.clear_expired"
  runner "Activity.clear_expired"
  end

end

基本上,我想删除一周前的事件和活动 - 每个星期日。

我做错了什么?

更新:#lib/tasks/deletion.rb

namespace :deletion do
  desc :weekly_delete => :environment do
    set :output, "#{path}/log/cron.log"
    job_type :script, "'#{path}/script/:task' :output"

    every :sunday, at: "3:00 AM" do
    runner "Event.clear_expired"
    runner "Activity.clear_expired"
  end
 end
end

并在控制台中调用:

heroku run deletion:weekly_delete -a appname

错误:

Running `rake weekly_delete` attached to terminal... up, run.4492
rake aborted!
Don't know how to build task 'weekly_delete'

【问题讨论】:

  • 通常表示 rake 找不到那个任务。在错误的文件夹、错误的命名空间或错误的名称中运行。

标签: ruby-on-rails ruby heroku ruby-on-rails-4


【解决方案1】:

必须是这样的:

# lib/tasks/deletion.rb
namespace :deletion do
  desc :weekly_delete => :environment do
    # ...
  end
end

你这样称呼它:

$ rake deletion:weekly_delete

【讨论】:

  • 谢谢!不幸的是,我仍然遇到同样的错误。查看上面更新的代码,我做错了什么?干杯
  • 正如我在上面的例子中所展示的,你必须这样做heroku run rake deletion:weekly_delete
  • OIC,但它仍然无法正常工作....运行 rake deletion:weekly_delete 连接到终端...起来,run.8619 rake 中止!不知道如何构建任务'deletion:weekly_delete'
  • 文件的实际路径是什么?
  • 实际;路径是 lib/tasks/deletion.rb
【解决方案2】:

将文件名从delete.rb改为delete.rake

【讨论】:

    猜你喜欢
    • 2013-02-01
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 2018-07-13
    相关资源
    最近更新 更多