在IronWorker中存储db连接字符串的推荐方法是什么?

时间:2013-10-09 03:16:22

标签: ruby-on-rails iron.io ironworker

Heroku上的常见做法是让环境变量保存敏感凭据,这样就不需要将密码文件签入git。

IronWorkers有类似的东西吗?如何将db连接字符串传递给必须连接到数据库的IronWorker?理想情况下,我想避免在database.yml中使用用户名和密码。

例如:

$ heroku config

HEROKU_POSTGRESQL_CYAN_URL:postgres:// mmuxxxxxxxnhzp:X0JdWLxxxcJQ4ffO0xTjO6scJr@ec2-23-23-214-251.compute-1.amazonaws.com:5432 / de11tlh7iq999x

$ heroku config:设置SOMEVAR = somevalue

SOMEVAR = someValue中

任何帮助将不胜感激!

谢谢, 迪米特里

2 个答案:

答案 0 :(得分:1)

1)将配置文件合并到包

2)使用--worker-config flag.e.g上传worker。 iron_worker upload hello.worker --worker-config cfg.json并在工作人员中使用config助手。

3)通过有效负载传递连接数据

答案 1 :(得分:1)

有趣的是你应该问,IronCast昨天刚刚在我们的博客上发布了关于连接IronWorker的数据库的信息:

http://blog.iron.io/2013/10/ironcast-4-how-to-connect-to-your.html

要在有效载荷中传递它:

@client.tasks.create("pygments",
                     "database" => Rails.configuration.database_configuration[Rails.env],
                     "request" => {"lang" => @snippet.language,
                     "code" => @snippet.plain_code},
                     "snippet_id" => @snippet.id)

然后在你的工作人员中使用它:

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