0

たくさんのS3オブジェクトをaws/s3で処理するDelayedJobがあります。「rakejobs:work」を介してローカルで動作しますが、Herokuでは次のエラーで失敗します。

「{ジョブのロードに失敗しました:初期化されていない定数Net :: HTTP ::ConnectionPool...」

また、「heroku run console」を介してHerokuコンソールを起動し、問題なくジョブのメソッドを実行することもできます。ConnectionPoolはawsからのものであるため、require'aws / s3'を強制しようとしましたが、役に立ちませんでした。何か案は?

Gems:aws-sdk(1.5.6)rails(3.1.0)delayed_job(3.0.3)

4

1 に答える 1

0

モジュールからのs3接続を再利用していることがわかりました。モジュールは、既存の接続が存在する場合はそれを返し、存在しない場合は新しい接続を作成します。どちらの環境にも既存の接続が存在するはずがなかったため、HerokuワーカーではなくローカルDJで機能した理由がわかりません。どちらの場合も、ジョブはレーキタスクで開始されました。ワーカー。とにかく、ジョブ内でAWS :: S3.newを介して新しいS3接続を作成した後、問題は解決されました。

これが誰かを助けることを願っています。

于 2012-07-17T12:55:54.287 に答える