简体   繁体   English

不知道如何构建任务“ weeklydelete”

[英]Don't know how to build task 'weeklydelete'

So, I'm trying to setup Heroku scheduler with my cron_job task and I'm getting the following error when running heroku run rake weeklydelete: 因此,我正在尝试使用cron_job任务设置Heroku调度程序 ,并且在运行heroku run rake weeklydelete时遇到以下错误:

Don't know how to build task 'weeklydelete'

My task code looks like this: 我的任务代码如下所示:

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

Essentially, I want to delete Events and Activities that are a week old - every Sunday. 本质上,我想删除一周前的活动和活动-每个星期日。

What am I doing wrong? 我究竟做错了什么?

Update: # lib/tasks/deletion.rb 更新:#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

and in console called: 并在控制台中称为:

heroku run deletion:weekly_delete -a appname

error: 错误:

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

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

It has to be like this: 它必须是这样的:

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

and you call it like this: 您这样称呼它:

$ rake deletion:weekly_delete

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM