FC2ブログ

Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事にトラックバックする(FC2ブログユーザー)
http://satake7.blog33.fc2.com/tb.php/6-51300cfe

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

ChangeLog 0.6.1.2

通販Go!Go!(2.5-55.jp) ChangeLog 0.6.1.2

通販Go!Go! 0.6.1.2

バックグラウンド処理の子プロセス化

  1. 実際の処理を fork + Process.detach 方式で子プロセスに任せる
  2. BackgrounDRb化についてはペンディング

送 料を取ってくる処理はWEBページ取得にかなり時間がかかるので、バックグラウンドで処理して、結果を随時キャッシュDBへ書き出すようにしている。こう いう処理は本来、BackgrounDRbで行うべきだと思うが、簡単な処理では問題がないが、数十秒くらいかかる処理を実行すると Client disconected してしまって処理が進まない。呼び出し側(Rails)のプロセスが死ぬタイミングで disconected するのかどうか、まだきちんと調べきれていないが、原因が全然別のところにあるかもしれないので、少し頭を冷やして、小さいサンプルで動作確認してから導 入することにして、いまのところはペンディング。


とりあえずの妥協策として、別プログラムを走らせておい て、バックグラウンド処理はそちらへのメッセージ通知で行うようにしているが、このプログラムが逐次処理だったので、メッセージがキューに溜まってしまっ て、なかなか処理が進まない状態だったので、こちらを fork + Process.detach で子プロセス化することにした。detach しないと子プロセスは実行が終わってもゾンビとして残ってしまうので要注意。

スポンサーサイト
この記事にトラックバックする(FC2ブログユーザー)
http://satake7.blog33.fc2.com/tb.php/6-51300cfe

トラックバック

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

Appendix

プロフィール

satake7

Author:satake7
 
Satake Studio, LPC(サタケスタジオ)は湘南秋谷でWEBアプリケーションの開発を行っています。

通販Go!Go!(http://2.5-55.jp)

最新コメント

最新トラックバック

検索フォーム

ブロとも申請フォーム

この人とブロともになる

QRコード

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。