我有一个使用IronWorker的Rails应用程序,我需要从worker连接到我的数据库。我该怎么做?
答案 0 :(得分:7)
worker需要显式连接到数据库,因为它没有在您的应用程序中运行,因此您需要将连接信息传递给您的worker。您可以在工作负载中执行此操作,如下所示:
client = IronWorkerNG::Client.new
task = client.tasks.create('MyWorker', 'database' => Rails.configuration.database_configuration[Rails.env])
然后在你的工人里面:
ActiveRecord::Base.establish_connection(params['database'])
答案 1 :(得分:2)
我在这上面煽动blog post。希望它有所帮助!
在坚果壳中,将数据库配置存储在环境变量中可以很容易。