我正在使用發條寶石。我想每天在午夜自動刪除comments
表中的所有評論。如何在生產中運行發條腳本
這app/clock.rb
腳本工作,因爲當它在我的本地終端上運行與$ clockwork app/clock.rb
發展ENV應該:
require './config/boot'
require './config/environment'
require 'clockwork'
module Clockwork
every(1.day, 'delete.comment', at: '00:00') {
Comment.destroy_all
}
end
。
因此,我將應用程序部署到了Heroku。後來在一個終端,我跑:
RAILS_ENV=production rails r app/clock.rb
as in this SO topic但只輸出是:
Running via Spring preloader in process 13973
,並退出提示和評論仍然存在(假設at:
哈希值已經過去了)。
這是我第一個單獨的項目。 我的問題是如何讓這個腳本在生產中不停地運行,以便在午夜每天自動刪除評論?
或
更一般的:
如何在生產中不停地運行腳本。
我讀this SO topic但答案不是很全面,上面的第一個鏈接既不是初學者,也不是。
感謝您的回覆。當'every'方法沒有被封裝在'module Clockwork'中時,我得到'NoMethodError',當它被封閉時,我會在運行'clockwork app/clock.rb'的時候得到'未初始化的常量Clockwork :: Rake'。我需要所有三個如上。按照你的建議和dev.env(不在終端中運行'clockwork') - 沒有任何事情發生。做rake任務(我在'rake -T'中)我仍然需要從dev.env的終端運行'clockwork'。在開發中。我的代碼正在工作。問題是,如何讓它在生產中運行。我錯過了什麼嗎? – ToTenMilan