このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

Quid Pro Quo1.0が止まる!

発言者:磯崎
( Date Wednesday, April 16, 1997 00:27:21 )


「フォームからのデータをエクセルで集計」の際はお世話になりました。
また教えていただきたいことがあります。
Quid Pro Quo1.0を使いeasyBBS他のCGI用に使っているのですが、割り当てた
メモリーを使いきってサーバーがストップしてしまいます。
今現在は気がついたときに定期的に手動でQuid Pro Quo1.0を再起動させていますが
それを自動化したいのですが、たとえば「毎日朝7時にQuid Pro Quo1.0またはMacを
再起動する」といったようなスクリプトというのは可能でしょうか?。
ダニーグッドマンのアップルスクリプトハンドブックを購入したのですが、さっぱり
わかりません。田中先生お願いします。

田中求之 さんからのコメント
( Wednesday, April 16, 1997 01:36:58 )

>割り当てた
>メモリーを使いきってサーバーがストップしてしまいます。

そういえば、QPQ に関しては以前にも別の方が同じ症状によるエラーが報告されていま
した。CGI や SSI を多用するとメモリーリークがおきてしまうということだったかな?
確か、これに対処した 1.0.1B がベータテスト中のはずです。ただ、Chris さんが
忙しいのか、まだ正式版になる気配はありませんが。


決まった時間に、定期的にスクリプトを走らせるには、そのためのユーティリティを
使わなければなりません。有名なものとしては Cron というのがあります。確か
Info-mac にあったのではなかったかな? (ご存知の方、フォローよろしく)

それ以外にも、ScritDebugger に付属するやつとか、同じようなものは探せば
見つかるのではないかと思います。

私は ListSTAR を Cron 替わりに使ってますが (^_^;;

田中求之 さんからのコメント
( Wednesday, April 16, 1997 01:39:29 )

秒単位まで正確に時間指定するには上記のユーティリティが必要ですが、分単位以上の
おおまかなものでよければ、AppleScript で自作できます。

Stay Open 型のアプリケーションを作り、Idel ハンドラーを使って時間をチェック
し、もし希望の時間帯であれば処理を行うというスクリプトにします。

磯崎 さんからのコメント
( Wednesday, April 16, 1997 11:03:58 )

できそうなことはわかりましたが難しそうなのでとりあえず1.0.1Bをさがしにいってみます。
ありがとうございます。

田中求之 さんからのコメント
( Wednesday, April 16, 1997 11:24:29 )

スクリプト自体は、それほど難しくありません。AppleScript の入門として
挑戦するのにはちょうどよいかなという感じです。

ただし、QPQ を Quit させて、無事にアプリケーションが終了しているのを
確かめてから再起動、というのを丁寧にやろうとすると、ちょっと面倒かも
しれません。

基本的には

property lastReset : 0

on idle
  set curDate to DateList
  if item 3 of curDate ュ lastReset and item 4 of curDate = 7 then
    tell application "Quid Pro Quo" to quit
    tell application "Quid Pro Quo" to run
    set lastReset to item 3 of curDate
  end if
  return 1800 --- 30分ごとにチェック
end idle

というようなスクリプトのアプリケーションを Stay Open で走らせておけば
1日に1回、7時台に再起動を行うはずです( Tanaka's osax を使ってます)

おがさわら さんからのコメント
( Wednesday, April 16, 1997 11:46:12 )

Quid Pro Quoのメモリリークですが、私はキャッシュを使わないという
指定をしています。これだと1日で死ぬということはないみたいです。


エディ さんからのコメント
( Wednesday, April 16, 1997 12:04:25 )

私はQuid Pro Quoは使っていませんが、宮崎医大の牧原先生が
紹介されている4種の神器のひとつである、Keep It Upを使って
一日一回Macをリスタートさせています。

→  4種の神器

石津@RJC さんからのコメント
( Wednesday, April 16, 1997 23:32:53 )

そうそう、キャッシュを使うのをやめましょう。
それだけでほぼ解決します。
10Mの割り当てしているサーバで、キャッシュONだと一日で落ちていたのが
キャッシュOFFにしただけで30万ヒットあってようやっと落ちるぐらいに
なりました。(落ちるのはかわんないんですけど)

きんねこ さんからのコメント
( Thursday, April 17, 1997 12:50:50 )

QPQ ははいっているだけなんですが、1年くらい運用
していた C650 WebSTAR のマシンは、acgi でストー
ル(メモリが足りなかった)したり、macjodomo で
ストールする(ヴァージョンあげたら直った)ことが
あったので、日に一度再起動していました。
いまは、メモリは十分な588に移っているのですが、
それでも再起動は念のためやっています。

システムごとリスタートするのであれば、
自動電源オンオフとか、省電力設定で可能なので、
それを使っています。快調です。
Pipin でもこんなことできるのなら、サーバーにして
しまいたい(^^;。

磯崎 さんからのコメント
( Thursday, May 01, 1997 22:32:11 )

Quid Pro Quo1.0でキャッシュをOFFにしたらほとんど落ちなくなりました。
また何かありましたら報告します。

重松修 さんからのコメント
( Wednesday, July 23, 1997 03:51:52 )

再起動について、ちょっと困ったことがあるので教えてください。
再起動をかけると共有された項目がある場合は、接続をどうするか尋ねるダイアログが
開いてしまいます。これを無視する方法はありませんでしょうか?

たまちゃん さんからのコメント
( Wednesday, July 23, 1997 10:11:34 )

>>これを無視する方法はありませんでしょうか?

Okey Dokey Proはどうでしょうか?

→  Okey Dokey Pro

たろ さんからのコメント
( Wednesday, July 23, 1997 13:51:19 )

この件には関係ありませんが、SoftwareFPUが入っていると、QPQを終了させる際に
爆弾がでます。(PPC版のSoftwareFPUでは試していません)