【问题标题】:How do I connect to a database in IronWorker using ActiveRecord?如何使用 ActiveRecord 连接到 IronWorker 中的数据库?
【发布时间】:2012-06-15 18:26:30
【问题描述】:

我有一个使用 IronWorker 的 Rails 应用程序,我需要从 worker 连接到我的数据库。我该怎么做?

【问题讨论】:

    标签: ironworker iron.io


    【解决方案1】:

    worker 需要显式地与数据库建立连接,因为它没有在您的应用程序中运行,因此您需要将连接信息传递给您的 worker。您可以像这样在工作负载中执行此操作:

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

    然后在你的工人内部:

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

    【讨论】:

    • 您是否知道我如何在开发环境中测试这样一个工作人员(连接到数据库的工作人员)?
    • 您可以尝试从命令行使用iron_worker run my_worker 命令来测试它,但我通常建议使用实际服务,因为这样您就可以确定它是完全相同的环境。 12factor.net/dev-prod-parity
    【解决方案2】:

    我为此创建了blog post。希望对您有所帮助!

    不过,简而言之,将数据库配置存储在环境变量中很容易。

    【讨论】:

    • 绝对!哪一部分没有意义?这将帮助我更有效地回答。最终,您希望将您的数据库凭据传递给 Iron Worker,但这将允许 Iron Worker 使用您传递的凭据连接到您的数据库。
    • 感谢您的意见! ...但我相信了解 Iron.io 和问题的人会发现这篇文章很有用。如果使用 rails 和 iron.io 的人觉得它没有用并告诉我,那就是另一回事了
    猜你喜欢
    • 2014-07-04
    • 1970-01-01
    • 2021-08-31
    • 2016-07-07
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    相关资源
    最近更新 更多