3

나는 동시에 16 개의 고화질 이미지를 동시에 업로드 할 수 있어야하는 Ruby on Rails 애플리케이션을 개발 중이다.Ruby on Rails에서 Amazon S3로 다중 업로드 - 어떤 백그라운드 처리 시스템을 사용할 수 있습니까?

이것은 종종 약 10-20 메가 바이트 (때로는 그 이상)를 의미하지만, 가장 중요한 문제가되고있는 연결 수입니다.

이미지가 Paperclip에서 Amazon S3로 전송되는데 불행히도 16 개의 파일 각각에 대해 새 연결이 열리고 닫힙니다. 말할 필요도없이, 트래픽이없는 것처럼 웹 서버를 잠그지 않게 백그라운드 프로세스로 실행하도록 시스템을 이동해야합니다.

내 시나리오는 배경 시나리오 (Starling, BackgroundRb, Spawn 등)에 사용되는 모든 Rails 기반 시스템 중에서 다른 시나리오에 비해이 시나리오의 청구서에 더 적합 할 수있는 경우에 사용됩니다. 어쨌든 in-the-background 시스템 구축에 익숙하지 않으므로 모든 사용 가능한 시스템이 똑같이 새로운 것입니까?

답변

2

비동기 처리를 수행하는 레일즈 플러그인이 부족하지 않으며, 기본적으로 모두 제대로 작동합니다. 개인적으로 나는 Delayed Job 님의 api가 최고입니다.

데이터베이스를 사용하여 필요한 모든 상태를 저장하는이 작업에는 아무 문제가 없으므로 Starling이나 다른 실제 대기열 데몬을 사용하지 않을 것입니다.

+0

지연된 작업이 완벽하게 작동하는 것처럼 보입니다. 감사! – btw

1

도움이 될 수 있습니다!

http://aaronvb.com/blog/2009/7/19/paperclip-amazon-s3-background-upload-using-starling-and-workling

편집 :

그것은 배경에 파일을 보내, 일반 HTML 다중 양식을 통해, 수 없습니다. 그들은 그 요청을 통해 끝내야합니다. 이 문제를 해결할 방법을 찾고 있다면 SWFUpload를 시도한 다음 일단 완료되면 백그라운드 프로세스를 사용하여 Amazon S3 업로드를 처리 할 수 ​​있습니다.

0

, 우리는 우리가 쓴 일부 S3 애플 리케이션에 그것을 사용할 수 있습니다. 매우 빠르고 안정적인 것으로 입증되었습니다. 업로드 후에 Ajax를 통해 액션이 시작될 수 있습니다. 우리는 업로드가 1 회 실패했지만 실패 횟수는 0이었습니다.

관련 문제