다음은 필자의 시나리오입니다. 직렬 포트에 데이터가 입력되었습니다. 이 데이터를 계속 수집하여 데이터베이스에 저장하고 싶습니다. 그럼 레일 애플 리케이션은 데이터베이스 에서이 데이터를 사용하고 그래프와 물건 같은 일부 통계를 보여줍니다.Ruby on Rails : 백그라운드에서 데이터를 수집하고 DB에 저장하십시오.
그럼 내 질문은 어떻게 레일 애플 리케이션에서 별도의 스레드 에서이 데이터를 수집 할 수 있습니다 나머지 것들은 데이터베이스에서 다른 레일 애플 리케이션처럼 작동합니다.
더 좋은 방법이 있다면 조언을 구하십시오.
추신 : 직렬 포트에서 읽는 데 문제가 없습니다. 이것은 별도의 스레드에 레일 애플 리케이션 에서이 작업을 수행하는 방법에 대해입니다.
혼란 스럽습니다. 이것이 내 사건에 어떻게 도움이 될지 조금 자세하게 설명해 주실 수 있습니까? – Shaunak
당신은이 보석에 관한 railcast를 볼 수 있습니다 - http://railscasts.com/episodes/171-delayed-job 또는 텍스트 버전 - http://asciicasts.com/episodes/171-delayed-job –
오케이! 나는 방금 레일 캐스트를 보았고, 내가 필요로하는 것과 똑같은 것처럼 보였다. 그래도 몇 가지 질문이 있습니다. railcast의 send_later 메소드는 컨트롤러의 특정 메소드에서 호출됩니다. 난 레일 애플 리케이션이 시작 (서버가 시작) 즉시 내 작업을 시작합니다. 또한 내가 실행중인 작업은 컨트롤러와 아무런 연결이 없으므로 send_later를 사용하여 호출 할 메소드를 어디에 추가해야합니까? 그리고 마침내 내 일이 무기한으로 진행됩니다. 어떻게이 합의에 영향을 줍니까? – Shaunak