人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perlについての質問です。

前回の質問(http://q.hatena.ne.jp/1174044149)の答えの中で

『CGI はあまり長時間のプログラムの実行には向きません。
大抵 Apache やブラウザのタイムアウトに引っかかりエラーになりますから。
一応方法としては、CGI 中でプロセスを fork してバックグラウンドで処理を続行。
ブラウザには一旦作業中のメッセージを出します。
そのページは meta や JavaScript で問い合わせ用 CGI にクエリを投げる仕様にします。
問い合わせ用 CGI では先のバックグラウンドプロセスが終了しているかどうか確認して、
終了していなければ再度処理中のメッセージを、終了していれば完了のメッセージを出すようにします。
処理が終わるまでクエリを投げ続ければそれにしたがって表示が更新される事になります。』

「問い合わせ用 CGI では先のバックグラウンドプロセスが終了しているかどうか確認」の
CGIを作ろうと思います。

参考になるサイトなどを教えていただけないでしょうか?

Windows XP SP2
Perl ver 5.8.8
Apache HTTP Server 2.2.3

●質問者: zachouR
●カテゴリ:コンピュータ インターネット
✍キーワード:Apache CGI HTTP JavaScript Perl
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pmint
●35ポイント

http://perl.misty.ne.jp/function01/kill.html

http://perl.misty.ne.jp/function01/fork.html

(TOPページ http://perl.misty.ne.jp/)

forkでバックグラウンドプロセスIDが得られます。

kill(0, バックグラウンドプロセスID)で残っているプロセスの数を調べられます。

これが0ならバックグラウンドプロセスが終了していることになります。

◎質問者からの返答

ありがとうございます!

さっそく実験してみます!


2 ● たーちゃん
●35ポイント

JavaScriptが使えるならAjax化を検討してみては?

Webアプリのユーザビリティを改善しまくるAjax - @IT

http://www.atmarkit.co.jp/fwcr/rensai/ajaxwatch01/01.html

Ajaxを勉強しよう

http://www.openspc2.org/JavaScript/Ajax/Ajax_study/index.html

◎質問者からの返答

ありがとうございます。

はじめはjavascriptを計画していたのですが、言語を覚える時間とかを考えると、現時点で一番早く実行できる事ということで、なんとかperlでやろう、という事になりました。

社内ツールの一種なので、これでもいいかな、と今は考えています。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ