태그 보관물: Redmine

레드마인 이메일 비동기 전송으로 속도 개선

레드마인에서 일감의 상태를 변경할때 가장 속도를 떨어뜨리는 부분은 바로 이메일 알림 입니다.

이메일이 전송이 완료될때까지 기다리느라 진행이 느립니다.

때문에 이메일을 비동기로 전송하도록 설정하면 진행이 훨씬 빨라집니다.

production:
  email_delivery:
    delivery_method: :async_smtp # 이곳
    async_smtp_settings: # 이곳
      address: smtp.example.net
      ...

위의 설정 예제 처럼 기존에 이메일 설정 부분중 두군데에 async_ 를 붙여주면 됩니다.

출처: http://www.redmine.org/projects/redmine/wiki/EmailConfiguration

레드마인(Redmine) 2.2.0 attachments_storage_path 문제

Ubuntu 12.04 + Ruby 1.8.7 + Rails 3.2 환경에서 Redmine 2.2.0 을 설치했습니다.

레드마인의 환경설정 파일인 configuration.yml 을 열어서 attachments_storage_path 에 첨부파일이 저장될 경로를 넣었습니다.

attachments_storage_path: /첨부파일_저장_경로

그리고 레드마인을 재시작 했지만 attachments_storage_path 에 설정한 값이 적용되지 않았습니다.

레드마인 소스코드를 살펴보니 {Redmine}/app/models/attachment.rb 파일에서 attachments_storage_path 를 부르는 코드에 연산자 우선순위 관련한 버그가 있었습니다.

# 원본 코드
@@storage_path = Redmine::Configuration[‘attachments_storage_path’] || ENV[‘RAILS_VAR’] ? File.join(ENV[‘RAILS_VAR’], “files”) : File.join(Rails.root, “files”)

# 수정 코드
@@storage_path = Redmine::Configuration[‘attachments_storage_path’] || (ENV[‘RAILS_VAR’] ? File.join(ENV[‘RAILS_VAR’], “files”) : File.join(Rails.root, “files”))

이렇게 괄호를 씌워주니까 정상적으로 동작했습니다.

아마 루비 버전의 차이로 위의 코드가 정상으로 돌아가는 루비 버전이 있을 것이라고 생각됩니다.

위와 같은 예상치 못한 버그가 발생하지 않도록 평소 코딩을 할 때 괄호로 잘 묶어주면 가독성도 좋고 버그도 예방할 수 있습니다.