처음 페이지를로드 할 사람이 없어도 캐시 된 조각을 페이지를 트리거 할 수있는 방법이 있습니까?cron schedule에서 레일스 조각 캐시를 강제로 만드는 방법은 무엇입니까?
cron 스케줄을 사용하려고 계획하고 있습니다. 이는 cron 스케줄러가 데이터베이스를 업데이트하고 조각 캐시를 강제 실행하려고하기 때문입니다.
처음 페이지를로드 할 사람이 없어도 캐시 된 조각을 페이지를 트리거 할 수있는 방법이 있습니까?cron schedule에서 레일스 조각 캐시를 강제로 만드는 방법은 무엇입니까?
cron 스케줄을 사용하려고 계획하고 있습니다. 이는 cron 스케줄러가 데이터베이스를 업데이트하고 조각 캐시를 강제 실행하려고하기 때문입니다.
이것은 원시적 인 해결책이지만 항상 페이지의 URL에 대한 말풍선 요청을 해제 할 수 있습니다.
백그라운드 작업자에서 다음 코드를 실행했습니다. 코드에서 컨트롤러를 인스턴스화하고 뷰를 적절하게 렌더링하고 캐시를 채 웁니다.
cache_controller = PageController.new
cache_controller.response = Hashie::Mash.new({"content_type"=>"text/js"})
cache_controller.request = Hashie::Mash.new({"action"=>"show", "negotiate_mime"=>"js", "content_type"=>"application/x-www-form-urlencoded", "get?" => true})
cache_controller.params = {id: 1}
cache_controller.action_name = 'show'
cache_controller.show # this is the method on controller you want to call.
필자의 경우 나는 js.erb를 치고 있었으므로 일부 내용은 예제에서 필요하지 않을 수 있습니다.
다른 방법이 없다면 나는 이것을 생각하고있었습니다. –
나는이 길을 가고 싶어한다. 너는 왜 이걸하고 싶어하는거야? – jonnii
잘 모르겠습니다. 아마도 컬 요청을 사용하지 않고 그것을 할 수있는 방법이 있다고 생각할 것입니다. –