Heroku/Rails:任务计划程序正在工作,但不执行任何操作

zqdjd7g9  于 9个月前  发布在  其他
关注(0)|答案(1)|浏览(85)

我在heroku上运行了一个应用程序,每天运行一次taks called every_day。任务调度器工作正常,但它对我的数据库没有任何影响。我也试着手动运行它,结果是一样的。我想问题出在我的代码上,如果有人能告诉我哪里出了问题,我会很感激的。此任务代码:

task :every_day => :environment do
  unactive_auction = Auction.where(ended: false).where('created_at < ?', 14.days.ago)
  unactive_auction.update_all(:ended => true)
end

当我手动运行它时,我得到了这个:

, [2017-06-07T07:08:26.348223 #4] DEBUG -- :   Auction Load (1.7ms)  SELECT  "auctions".* FROM "auctions" ORDER BY "auctions"."id" ASC LIMIT $1  [["LIMIT", 1000]]
D, [2017-06-07T07:08:26.677182 #4] DEBUG -- :   SQL (1.3ms)  UPDATE "auctions" SET "ended" = 't' WHERE "auctions"."ended" = $1 AND (created_at < '2017-05-24 07:08:26.674476')  [["ended", false]]

我不知道我做错了什么。看起来是有效的但是...但它什么也没做。

ki1q1bka

ki1q1bka1#

您确定有满足您的查询参数的对象吗?在Rails控制台中运行:

unactive_auction = Auction.where("ended is ? and created_at < ?", false, 14.days.ago)

然后在运行任务之前查看它是否返回任何内容。

相关问题