0

Postgresql データベースを使用して Appfog にデプロイされた Rails 3 アプリがあります。IronWorker でバックグラウンド ジョブを実行したいのですが、データベースに接続できません。

これが私のアイアンワーカーファイルです(.worker + my_worker.rb)

。ワーカー

runtime "ruby"
gemfile '../Gemfile'
dir "../app/models" # merge all models
full_remote_build true
exec "my_worker.rb"

my_worker.rb

require 'rubygems'
require 'active_record'
require 'pg'
require 'models/my_model.rb'


def setup_database
  puts "Database connection details:#{params['database'].inspect}"
  return unless params['database']
  # estabilsh database connection
  ActiveRecord::Base.establish_connection(params['database'])
end


setup_database
@my_models = My_model.all

次に、データベース接続を Ironworker に渡すタスクを作成します。

client = IronWorkerNG::Client.new
client.tasks.create("my_worker", database:Rails.configuration.database_configuration[Rails.env])

そして、これがIronWorkerでのエラーです

/task/__gems__/gems/activerecord-3.2.8/lib/active_record/connection_adapters/postgresql_adapter.rb:1213:in `initialize': could not connect to server: Connection timed out (PG::Error)
Is the server running on host "10.0.48.220" and accepting TCP/IP connections on port 5432?

IronWorker から Appfog DB に接続するのを手伝ってもらえますか?

事前にどうもありがとう

-- マチュー

4

1 に答える 1

1

私の知る限り、AppFog はデータベースへの外部接続をブロックしています https://groups.google.com/forum/?fromgroups=#!topic/appfog-users/I31ni0pff9I

可能な解決策:

  • アプリフォグを突く
  • 他のデータベース ホスティングに切り替える
  • ある種のトンネルを作ります。たとえば、IronWorker プラットフォームでは、ワーカーの実行中に非特権コードと対話できるため、「正常な」マシンへの SSH トンネルの設定を試みることができます。
于 2012-12-22T19:52:58.213 に答える