【Ruby】Ruby on Rails Part9at PHP
【Ruby】Ruby on Rails Part9 - 暇つぶし2ch184:nobodyさん
10/03/09 18:23:10 +mVhS0Hu
>>5 のpoormans_cron使ってみてるんですが、プラグインの質問と言うか、
こんなもんなの?という疑問があり質問させてください。

poormans_cronではアクセスごとにThread.start で別スレッド立てて、
登録してある情報をもとに定期ジョブをこなす仕組みなのですが、
登録してあるジョブ内で、トランザクションのブロック中でActiveRecordを使うと、
ジョブは走るものの、ActiveRecordでのupdateが全然反映されないため、
ログを見ると、データの更新直後に
 Mysql::Error: MySQL server has gone away: ROLLBACK
などとあり、ロールバックされているようなのです。

ちなみにトランザクションを使わないと、データを複数更新する際にも最初の1つしか更新されなかったりと
途中で処理が終わったかのようになります。

つまりロールバックも処理が完了しなかったため起きたように見えます。

これもしかして、Thread.start 内でDBつかってもメインスレッドが終了したら、
poormans_cronで新規に立てられたスレッドも終了してしまうとか、そういうことってありますか?

環境はRails 2.3.5, Ruby 1.8.7です


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch