2012-06-15 71 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使用您傳遞的憑據連接到您的數據庫。 – Chiedo

+0

感謝您的輸入! ......但我確信那些瞭解iron.io和這個問題的人會發現這篇文章很有用。如果一個正在使用rails和iron.io的人發現它並沒有用,並且讓我知道,那是一個不同的故事 – Chiedo

相關問題