2014-07-25 5 views
0

여러 레일 애플리케이션에 백그라운드 작업용으로 하나의 redis를 사용하고 있습니까?여러 레일 응용 프로그램이 resque 작업에 대해 하나의 redis를 사용할 수 있습니까?

편집 : 나는 모든 응용 프로그램에 대한 동일한 레디 스를 사용하는 경우

후 레디 스이 많은 작업은 응용 프로그램의 Resque 잘못된 일을 처리 할 수 ​​있다는 문제를 제기 다른 응용 프로그램에서 대기.

+0

예, 당신은 하나의 특정 레디 스 서버로 모든 응용 프로그램을 가리 키도록해야합니다 .. – RAJ

+0

네 하지만 여러 응용 프로그램에서 redis로 대기중인 여러 작업이 있으며 작업을 처리 할 Resque가 있습니다. 따라서 어떤 애플리케이션이 어떤 작업인지 구분할 수 있습니다. 문제는 앱의 Resque가 잘못된 작업을 처리 할 수 ​​있다는 것입니다. –

+2

Redis를 사용하고 동일한 데이터베이스 번호를 사용하지만 각 앱마다 별도의 대기열 이름을 사용합니다. 앱에서 각 앱의 대기열 이름을 지정해야합니다. – RAJ

답변

0

설명서에 명시된로서 당신은 설치 Resque은 다음과 같이 레디 스에 연결하는 네임 스페이스를 사용할 수 있습니다

Resque.configure do |config| 
    # Set the redis connection. Takes any of: 
    # String - a redis url string (e.g., 'redis://host:port') 
    # String - 'hostname:port[:db][/namespace]' 
    # Redis - a redis connection that will be namespaced :resque 
    # Redis::Namespace - a namespaced redis connection that will be used as-is 
    # Redis::Distributed - a distributed redis connection that will be used as-is 
    # Hash - a redis connection hash (e.g. {:host => 'localhost', :port => 6379, :db => 0}) 
    config.redis = 'localhost:6379:alpha/high' 
end