2012-06-15 37 views

Trả lời

7

Nhân viên cần kết nối với cơ sở dữ liệu một cách rõ ràng vì nó không chạy trong ứng dụng của bạn, do đó bạn cần chuyển thông tin kết nối cho nhân viên của mình. Bạn có thể làm điều này trong payload lao động như sau:

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

Sau đó, bên trong nhân của bạn:

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

Bạn có biết làm cách nào tôi có thể kiểm tra một công nhân như vậy (một công ty kết nối với cơ sở dữ liệu) trong môi trường phát triển không? – Gautam

+0

Bạn có thể thử lệnh 'iron_worker run my_worker' từ dòng lệnh để kiểm tra, nhưng tôi thường khuyên bạn nên sử dụng dịch vụ thực tế khi bạn chắc chắn đó là môi trường giống hệt nhau. http://12factor.net/dev-prod-parity –

2

Tôi whipped lên một blog post về vấn đề này. Hy vọng rằng nó sẽ giúp!

Mặc dù vậy, trong trình bao hạt, việc lưu trữ cấu hình cơ sở dữ liệu của bạn trong các biến môi trường giúp dễ dàng.

+0

Chắc chắn! Phần nào không có ý nghĩa? Điều đó sẽ giúp tôi trả lời hiệu quả hơn. Cuối cùng, bạn muốn chuyển thông tin cơ sở dữ liệu của mình cho Iron Worker, cho phép Iron Worker kết nối với cơ sở dữ liệu của bạn bằng cách sử dụng các thông tin bạn đã vượt qua. – Chiedo

+0

Cảm ơn bạn đã nhập! ... nhưng tôi chắc chắn những người hiểu iron.io và câu hỏi sẽ tìm thấy bài viết hữu ích. Nếu ai đó đang làm việc và rail.io không thấy nó hữu ích và cho tôi biết, đó là một câu chuyện khác – Chiedo

Các vấn đề liên quan