• ベストアンサー

CGI処理の待ち時間

こんにちわ^^ えと、処理時間の非常に長いCGIを作ったのですが・・ その処理中に「Now Loading...」って感じに表示させておいて、 処理が終わると、その処理結果を表示させるようにしたいのです。 どうすればよいでしょうか? お願いします

noname#6448
noname#6448
  • CGI
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • ika3
  • ベストアンサー率64% (29/45)
回答No.3

処理中に print<<HERE; Content-type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>$title</TITLE> <META http-equiv=refresh content=秒数;url=処理結果を表示させるページのurl> </HEAD> <BODY> Now Loading... </BODY> </HTML> HERE ↑のようにすると、 指定した秒数後、処理結果を表示させるページに飛びます。 リロードするなら、CGIのurlを入れます。

noname#6448
質問者

お礼

ありがとうございます。 この方法でやってみます。 また、分からなければ質問するのでお願いします

その他の回答 (2)

回答No.2

あるいは、ボタンを押すとまずNow Loadingと表示するHPに飛ぶ ようにしておき、そのHPから長~い処理をするcgiに飛ぶように すると言うのでもよいのでは?

回答No.1

長~い処理をするCGIの前に「Now Loading...」って 感じに表示するCGIを書いておくと良いと思います。 そうすれば、そのcgiはまず「Now Loading...」と 表示したあと、長~い処理にとりかかり、処理が済んだ時点で 処理結果の表示をすると思います。 perlの場合だと #!/user/local/bin/perl -w $|=1; print "Content-type: text/html", "\n\n"; print "<HTML>"; print "\n"; print "Now loading...\n"; ----ここから長~い処理のcgiを書く---

noname#6448
質問者

お礼

ありがとうございます。 なんとかがんばってみます

関連するQ&A

  • PHPでCGIの処理結果を使うには?

    cgiの処理結果をPHPで使う方法を教えてください。 いろいろ調べてみたのですが、わかりませんでした。 内容としては以下です。 http://xxx.xxx.xxx/xxx.cgi が既にあり、これは共有して使っているものなので、変更できない。 このcgiの処理内容は、引数を渡して、POSTすると、処理結果に応じて、trueかfalseをprintするというものです。 このcgiの処理結果をPHPで受け取り、処理の分岐のための判別に使いたいと考えています。 試したのは、 1.htmlから値を渡してpostする。 →cgiのURLに遷移してtrueが表示される。 2.PHPでheader(Location:)で指定してみる。 →1と同じ です。 どうすればいいのか教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 内部処理中にNow Loadingみたいな文字を表示させたい

    お世話になります。 PERLにて以下のことをしたいと思っているのですが、お知恵をお貸し頂けるでしょうか。 「内部処理中にNow Loadingみたいなページを表示させたいのですが、どうもうまくいかない。」 以下のような感じです。 =============================================== print "Content-type: text/html\n\n"; print << "EOF"; <html> <head>  ・  ・  ・ </head> <body>  ・  ・ (<body>~</body>の間にjsでNow Loadingを表示するよう設定) EOF &sub #←内部処理用サブルーチン #処理後html文を吐くもの print << "EOF"; </body> </html> EOF =============================================== こんな感じで書いて、jsを使ってNow Loadingを表示するようにしようと思ったのですが、これだと、&subが先に処理された上でNow Loadingと表示されてしまうようで、意味のないものになってしまいます。 そこでヘッダー部分(最初のヒアドキュメント)部分までを先に表示した上で&subが動くようにし、それが完了したら最後のフッター部分を表示するようにしたいのですが、どのような方法があるでしょうか? 非常に不明な文で申し訳ないのですが、アドバイス頂ければ幸いです。 よろしくお願い致します。

  • CGIのボタンの処理について

    CGIのフォームにチェックボックスがあってボタンを押すとある処理をさせたいのですが、 <form action="○○.cgi" method="post"> を使って新たなCGIを呼び出さずにフォームのCGIで処理をし、結果を反映させたいのです。もし方法をご存知の方がいましたら教えて欲しいのでよろしくお願いします。 <-------cgiソースの一部----------> print "<input type=\"checkbox\" name=\"re_$n\" value=\"$userdata[$i]\">"; print "<input type=\"button\" value=\"処理\">"; ボタンを押した時に処理をしてすぐさまリロードして同じページに結果を反映させたい!

    • ベストアンサー
    • CGI
  • CGIの処理結果をHTML内に表示したい!

    はじめまして。 CGI初心者です。 現在、とあるフリーのアンケートのCGI(perl)を改良していて、それは、アンケートに答えて、送信ボタンを押すと、CGIファイルの処理結果として、これまでのアンケートの集計結果がグラフで表示されるというものです。 その集計結果のみを、別ページ(左側や上部にメニューがあるもの)のHTML内に収めたいのです。 ※新しいウィンドウが開かなくてもOKです。 ※その別ページというのが私のオリジナルのページになります。 イメージとしては、 1)anket.html(アンケートに答える)  ↓ 2)anket.cgi(返答内容とこれまでの集計を処理)  ↓ 3)anket.html(集計結果が埋め込まれたHTMLファイルが表示される) 初心者なので、用語の使い方等間違っていましたらすいません。。 よろしくお願いします!

  • CGIへ飛ばずに処理だけさせたい

    HTMLのフォームからsubmitしてcgiにアクセスする。 cgiでHTMLからのポストとゲットを読み込んで ログファイルに書き込む。 というCGIを作ったんだけど、 print "Content-type: text/html\n\n"; を書かないと、submitしてからcgiの処理が 止まらないみたいでした。 print "Content-type: text/html\n\n"; を書くと、処理は正常になるけど、cgiファイルに ジャンプしてしまいます。 openで書き込みをする場合、cgiに飛ばずに 処理する方法を教えてください。

    • ベストアンサー
    • CGI
  • 時間のかかる処理をレスポンス後にゆっくり行うことって可能?

    CGIが起動するとUAからのフォームを受けとりあえず「受領した」とだけ レスポンスしセッションが閉じた後時間のかかる処理をゆっくり実行する (その処理の結果はUAに返さない)ことって出来るのでしょうか? また、どのような手段を用いれば可能でしょうか?

    • ベストアンサー
    • Perl
  • CGIの処理中に次の処理が出来る?

    perlで書いたCGIの処理時間が非常に長いのです。 処理は数百名に対してメールを配信するもので、テキストで書かれた数百のメールアドレス配列に対してループ文で一人ずつメールを配信しています。これが約4分くらいかかります。 質問は2つあって、 (1)まずこのメール配信の処理を早くする方法はないでしょうか?  配信アドレスは自動的に追加されたり削除されたりするので固定のML  を使う事ができませんので、個別にメールを送る方法を取っていま  す。 (2)メール配信をバックグランドで実行させて、メインのプログラムは  復帰させる、という方法が出来るでしょうか?  今は、メインCGIが画面の表示やメールの配信などほとんどを実行し  ています。  このような場合、メール配信中はそのメインCGIが実行権を握った  状態になる為、他のユーザはこのメインCGIを実行出来ないと思って  いるのですが、間違った認識でしょうか?  もしそうだとすると、早くメインCGIの実行権を他のユーザに明け渡 さなければならないと思うので、メール配信を別CGIで実行させたほ うが良いのかな?と思った次第です。  よろしくご教示下さい。

    • ベストアンサー
    • CGI
  • CGIなのにIE8のときキャッシュが残ってしまう

    jQueryの$.ajaxでPerl/CGIの出力結果を参照し、JavaScriptでそれを元に処理をしているのですが、XP/IE8環境でキャッシュが残ってしまう現象に遭遇し困っています。CGIの出力結果の時間に関係する処理なので、HTML上でタイムリーな表示にならず、とても困っています。Chrome、Firefox、Opera、Safariでは正常に動作しているのですが、IE8では動的であるCGIもキャッシュに残して参照する仕様になっているのでしょうか。

    • ベストアンサー
    • CGI
  • CGIの処理が遅くなった

    個人的に趣味で自宅サーバー(Fedora 3)を構築しています。 先日、引越しをしてADSL→ケーブルインターネットにしたところ、急にCGIの処理が遅くなりました。 CGIとは言っても、全てのCGIが当てはまるわけではなく、imgboard.cgiやpatio.cgi(KENT WEB)が遅くなっているようで、ほかのCGIは多少遅いと感じることもありますが、それほど変わりません。 現在では、上記の2つのCGIを呼び出すのに20~30秒かかります。なぜ急に遅くなったのか理解できません。治す方法などアドバイスください。 サーバーは、Celeron D 2.4GHz、256MB、60GB。ルーターはCorega BAR SD。Fedora Core3、Apache2.0です。

  • CGIの起動が遅い

    Web上から作成したCGIを起動した場合に、そのCGIが存在するサーバ上ではすぐに実行されるのですが、他のPCからサーバにアクセスしてCGIを起動するとブラウザの下部にCGI実行中のメッセージが表示されてから結果が表示されるまでに時間がかかっています。(約30-60秒) 他のネットワーク処理等は普通に実行できるので特にネットワークが重い等の問題はないと思うのですが何が問題なのかアドバイスをお願いします。 サーバOSはRedHat Linux 5.1、apacheはver2.2です。

    • 締切済み
    • CGI

専門家に質問してみよう