2012-06-15 3 views

답변

7

작업자는 응용 프로그램 내에서 실행 중이 지 않으므로 데이터베이스에 명시 적으로 연결해야하므로 작업자에게 연결 정보를 전달해야합니다. 당신과 같이 작업자 페이로드에서이 작업을 수행 할 수 있습니다

client = IronWorkerNG::Client.new 
task = client.tasks.create('MyWorker', 'database' => Rails.configuration.database_configuration[Rails.env]) 

을 다음 당신의 노동자 내부 :

ActiveRecord::Base.establish_connection(params['database']) 
+0

개발 환경에서 어떻게 그러한 작업자 (데이터베이스에 연결하는 작업자)를 테스트 할 수 있었는지 알고 싶습니까? – Gautam

+0

명령 줄에서'iron_worker run my_worker' 명령을 시도해 볼 수는 있지만 실제로는 실제 서비스를 사용하는 것과 똑같은 환경이라고 확신합니다. http://12factor.net/dev-prod-parity –

2

나는이에 blog post을 채찍질. 희망적으로 도움이됩니다!

너트 쉘에서 데이터베이스 구성을 환경 변수에 저장하면 쉽게 사용할 수 있습니다.

+0

확실히! 어떤 부분이 말이되지 않았습니까? 그게 내가 더 효과적으로 대답하는 데 도움이 될거야. 궁극적으로 Iron Worker가 전달한 자격 증명을 사용하여 Iron Worker가 데이터베이스에 연결할 수 있도록 데이터베이스 자격 증명을 Iron Worker에 전달하려고합니다. – Chiedo

+0

입력 해 주셔서 감사합니다! ...하지만 나는 iron.io와 그 질문을 이해하는 사람들이 유용하다고 생각할 것입니다. 레일과 iron.io를 사용하는 사람이 유용하지 않고 나에게 알리면 다른 이야기입니다. – Chiedo

관련 문제