2010-08-23 8 views
4

내 레일 앱을 Heroku로 마이그레이션 중이므로 로컬 스토리지 대신 Amazon S3를 사용하기 위해 파일 업로드 기능을 변경해야합니다. 나는 aws-s3 보석을 사용하고 있으며이 작업을하고 있지만, 내가 올바르게 일을하고 있고 스스로 문제를 일으키지 않도록하고 싶습니다.Rails App에서 Amazon S3에 대한 연결을 닫아야합니까?

내 업로드 코드에는 다음과 같은 내용이 있습니다.

AWS::S3::Base.establish_connection!(
    :access_key_id  => 'Not telling', 
    :secret_access_key => 'Really not telling' 
) 
AWS::S3::S3Object.store("#{self.name}", upload_file_field.read, 'my_bucket') 

이것은 완벽하게 작동하지만 저는 서버에 대한 일종의 연결을 남겨두고 있습니다. 작업이 끝나면 연결을 닫아야합니까 (예 : AWS::S3::Base.disconnect) 아니면 그대로 둘 수 있습니까?

분명히 S3에 대한 연결과 함께 뒤에서 사용되는 프로토콜을 잘 이해하지 못했지만 특별히 원하지는 않습니다. 문제가 발생하지 않고 작동하는지 확인하고 싶습니다.

답변

2

API에 대한 문서 여기를 확인하고, 특히 분리 방법 :

http://amazon.rubyforge.org/doc/classes/AWS/S3/Connection/Management/ClassMethods.html#M000088

그것은 당신이 명시 적으로 각 연결을 종료해야하는지 여부에 대해 확실하지 않다. 그러나 영구 연결을 열면 성능이 향상된다는 것을 언급합니다. 이는 기본적으로 어쨌든 수행됩니다.

[...]

* :persistent - Whether to use a persistent connection to the server. 

오래 살았 연결을 찾을 수도가 두 배

성능 향상을 중심으로하지만, 긴 실행을 제공 일부 방화벽을 처리하는 데 의심 연결을 닫으십시오. 연결 오류가 발생하면 설정을 영구적으로 false로 설정하십시오. 기본값은 입니다.

+0

고마워, 웹 응용 프로그램의 특성을 감안할 때 명시 적으로 연결을 닫으려고 결정했습니다. 나는 그것을하는 데 어떤 실질적인 단점도 볼 수 없다. – brad

관련 문제