Ruby on Rails v2.3.8 不動産アプリケーションの構築に取り組んでいます。物件のリストと写真を取得するためのレーキ タスクを作成しました。このアプリは rets4r (具体的には josephholsten-rets4r) を使用して RETS ベースのサーバーと通信し、Paperclip を使用して物件の写真を管理し、それらを S3 にプッシュします。
私が見ている問題は、rake タスクが完了しないことです。それは常にある時点でクラッシュし、決して同じ場所ではありません。マイナーな変更 (エラーを追跡するために開始/レスキュー ブロックを追加) の後、45 分後にクラッシュしたことがあり、より長く (2 ~ 12 時間) 実行されているように見えますが、それでもクラッシュします。
私が得るエラーは常に「Rake aborted」であり、「スレッド [memory address] は自分自身に参加しようとしました」です。ログを調べても何も役に立ちません。標準の Paperclip ログ メッセージのみ。また、rake タスクで意図的にマルチスレッド化を試みているわけでもありません。
更新: rets4r の gem バージョン 1.1.17 を使用していました。しかし、プロジェクトの Github ページを見ると、そのバージョンがタグ付けされてからかなりの数のコミットが行われていることがわかりました。それらのコミットの 1 つは、スレッドの使用を削除することについて話しています。