Heroku/Rails: 任务计划程序正在运行但什么也不做
Heroku/Rails: Task scheduler is working but does nothing
我在 heroku 上有一个应用程序 运行ning,它每天 运行 调用一次 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 [["LIMIT", 1000]]
D, [2017-06-07T07:08:26.677182 #4] DEBUG -- : SQL (1.3ms) UPDATE "auctions" SET "ended" = 't' WHERE "auctions"."ended" = AND (created_at < '2017-05-24 07:08:26.674476') [["ended", false]]
我不知道我做错了什么。看起来它在工作但是......但是它什么也没做。
您确定有满足您查询参数的对象吗?
运行 在 rails 控制台中:
unactive_auction = Auction.where("ended is ? and created_at < ?", false, 14.days.ago)
并查看 returns 在 运行 任务之前是否有任何内容。
我在 heroku 上有一个应用程序 运行ning,它每天 运行 调用一次 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 [["LIMIT", 1000]]
D, [2017-06-07T07:08:26.677182 #4] DEBUG -- : SQL (1.3ms) UPDATE "auctions" SET "ended" = 't' WHERE "auctions"."ended" = AND (created_at < '2017-05-24 07:08:26.674476') [["ended", false]]
我不知道我做错了什么。看起来它在工作但是......但是它什么也没做。
您确定有满足您查询参数的对象吗? 运行 在 rails 控制台中:
unactive_auction = Auction.where("ended is ? and created_at < ?", false, 14.days.ago)
并查看 returns 在 运行 任务之前是否有任何内容。