• ベストアンサー

perlプログラムの連続起動方法

perlのバッチプログラムをレンタルサーバー(ロリポップ)で動かそうとしているのですが、サーバーの制約により処理が途中で中断されてしまいます。 サーバーの制約とは30秒を超える処理を起動してはならないというものです。 では、入力データ量を1プログラムあたり30秒以内に収まる範囲に分割し、プログラムを連続して起動することで制約を回避しようと思うのですが、プログラム起動の方法がわかりません。 プログラム終了をトリガとして後続プログラムを起動する仕組みの実現方法を教えてください。

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

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

> プログラム終了をトリガとして後続プログラムを起動する仕組みの実現方法 > を教えてください。 こういう方法ではありませんが、プログラムから Location: ヘッダを 返すなどの方法で、クライアントが後続のプログラムをキックするよう にしてはいかがでしょうか。

fken
質問者

お礼

回答していただき、ありがとうございました。 Locationとは初耳ですが、勉強してみます。

その他の回答 (1)

回答No.2

ロリポップということなので、Webサーバのタイムアウトが30秒設定なのだと思います。 とすると、Perl内部で連続起動することで処理を分断してもダメなんじゃないかと。つまり、一度ブラウザに結果を返さないといけないのではないかと思います。 なので、t-okuraさんの回答のようにLocationで再度CGIを呼び出すようにするとかAjaxにするとかの方法になるかと思います。 たぶん、MovableTypeで記事を再構築する時に処理を分割しているのが参考になりやすいかと思います。

fken
質問者

お礼

回答していただき、ありがとうございました。 MovableTypeとはこれまた初耳です、参考にしてみます。