시계 사용 보석을 사용 중입니다. 매일 자정에 매일 comments
테이블의 모든 댓글을 삭제하고 싶습니다. 이 개발 ENV에 가정으로 :생산에서 시계 작업 스크립트를 실행하는 방법
require './config/boot'
require './config/environment'
require 'clockwork'
module Clockwork
every(1.day, 'delete.comment', at: '00:00') {
Comment.destroy_all
}
end
을가 $ clockwork app/clock.rb
내 로컬 터미널에서 실행중인 경우
이 app/clock.rb
스크립트는 노력하고 있습니다.
그래서 나는 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' 메쏘드가'모듈 Clockwork'에 포함되어 있지 않을 때'NoMethodError'를 얻습니다. 동봉 될 때'clockwork app/clock.rb'을 실행하는 동안'초기화되지 않은 상수 Clockwork :: Rake'를 얻습니다. 나는 위와 같이 세 가지 모두를 요구한다. 당신이 제안하고 dev.env에서 (터미널에서'clockwork '을 실행하지 않고) - 아무 일도 일어나지 않습니다. 갈퀴 작업 ('rake -T'에 포함되어 있음)을 수행하려면 dev.env의 터미널에서'clockwork'을 실행해야합니다. dev에 내 코드가 작동 중입니다. 문제는 프로덕션 환경에서 실행하는 방법입니다. 내가 놓친 게 있니? – ToTenMilan