2012-06-19 6 views
0

내 응용 프로그램에서 내보내기 파일을 만드는 부분이 있습니다. 내보내기 파일 프로세스는 대다수의 사용자에게는 매우 빠르지 만 10,000 개 이상의 레코드를 생성하는 사용자가 있습니다. 이것은 사물을 복잡하게합니다. 첫째, 파일을 가져 오는 도구는 약 4,000 개가 넘는 파일에 불어납니다. 두 번째로 10,000 개의 레코드를 처리하는 데 약 20 분이 걸립니다. 사용자가 다른 일을 시작하는 경향이 있으며 그때까지 어떤 이유에서든 프로세스가 시간 초과 된 것으로 보이며 파일을받지 못합니다. 그러나 프로세스 버튼을 클릭하고 컴퓨터를 그대로두면 20 분 후에 파일을 받게됩니다.RnR : 장기 실행 프로세스

나는 이것을 더 사용자 친화적이고 강력하게 만들어야합니다. 여기에 내 아이디어는 다음과 같습니다. 1) 자동으로 4,000 개의 별도 파일을 만듭니다. 2) 파일 생성을위한 상태 표시 줄을 제공합니다. 3) 백그라운드 프로세스로 사용자가 버튼을 클릭하여 한 시간 후에 다시 말하고 파일을 다운로드 할 수있게합니다.

그래서 배경 플러그인과 보석에 대한 연구를 해왔습니다. 대부분은 상당히 시대에 뒤진 것 같아서 긴장하게 만들고 내가 필요로하는 것이 지나치게 과장된 것처럼 보일 수 있습니다. 따라서 Spawn은 간단하고 직선적 인 것처럼 보였지만 해당 유형의 제품에 대한 상태 표시 줄을 수행하는 방법에 대해서는 분명하지 않습니다.

그런 다음 Delayed_job과 같은 것을 갖습니다. 이것은 작동하는 것처럼 보이지만 약간 무거워 보이지만 일종의 상태 업데이트를 생성하는 고리를 제공합니다. 누구나 이것의 예가 있습니까? README는 약간 밝습니다.

또 다른 문제는 파일 생성입니다.이 여러 파일을 다운로드하려면 어떻게해야합니까? 어쨌든, 나는 사용자 세션의 라이브 생성 된 파일을 저장할 수 있습니까?

마지막으로 솔루션의 대부분은 큰 변화처럼 보이지만이 문제는 고통스럽지 만 기술적으로 효과적입니다. 그래서 내가 그것을 해결하기 위해 할당되고있는 시간은 최소한이므로 키스를 시도하고 있습니다. 제공 할 수있는 도움이나 지침을 주셔서 감사합니다. 당신은 배경 처리 일자리를 찾고있는 경우

+0

사용자를위한 보고서를 생성하는 현재 앱에서이 문제를 겪었지만 사용자의 이메일 주소를 보유하고 특정 디렉토리에 보고서 파일을 생성합니다. 서버에는 사용자에게 보고서를 전자 메일로 보낼 cron 작업이 있습니다. Clunky, 나는 알고있다, 그러나 그것은 작동한다. 사용자는받은 보고서를 언제 생성하고 30 ~ 60 분 내에 보고서를 전자 메일로 보낼지 알 수 있습니다. 그들은 그것에 만족합니다. – thisfeller

답변

1

나는 그것이 내가 여기에 하나를 resque 플러그인이 무리를 추측 데이터베이스가 진행 정보를 수집 따라

을 변경 설문 조사 delayed_job에 대한로 redis에서 실행 supereasy 당신이 resque 찾아야합니다 같아요 quest

마지막으로

Another issue is the file generation, how do I get this multiple files to download? Anyway, I can store the generated file for the live of the user session?

확실하지 무엇을 당신에게 교류에 당신을 도울 수 여러 파일을 다운로드하려는 경우 도움이 될 수 있습니다.

관련 문제