- ベストアンサー
箱庭の定時処理
インターネット上のシュミレーションゲーム「箱庭」などで、ある時間になると処理が走るような機能は、どのように実現しているのでしょうか? 箱庭では、ある時間になると指定した作業(埋め立て、資金繰りなど)が実行されます。WEBアプリケーションなので、だれかがページにアクセスしないと処理は走らないと思うのですが。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
CGIの基本は、サーバーのプログラムの起動とブラウザーへの出力だけだと思います。 ブラウザーのクローズを読みとって、プログラムの停止をかけるなら別ですが、なにもしなければ、ブラウザーと関係のない処理は動くのでは?・・ かなり曖昧で、申し訳ないですが・・(^^;
その他の回答 (3)
- acacia7
- ベストアンサー率26% (381/1447)
cgiの呼び出しがトリガーになって実行処理が呼び出されるだけで、 更新の完了とユーザーのウインドウ終了は無関係では?・・ ユーザーのポストなどの作業が別途必要なプロセスなどは、 定時処理とは別のステップにし、定時処理の終了を確認して移行すれば良いだけです。
補足
ご返事ありがとうございます。 当方ではASPとACCESSを使用していますが、ク エリーやコードを順に実行している時にユーザがブラウ ザを閉じると、現在実行中のクエリーは完了するのです が、それ以降のコードに記述したクエリーは実行されま せん。CGIと仕組みが異なるのでしょうか?
- Nubatama
- ベストアンサー率50% (2/4)
質問に対する回答ではないのですが、 「箱庭諸島」は、かならず「指定した時間」に処理が行われているわけではありません。(すくなくとも「箱庭諸島2」「箱庭諸島R.A.」はそうです。) あれもやはり、だれかがcgiにアクセスしたときにターン更新の処理が動いています。
- acacia7
- ベストアンサー率26% (381/1447)
定刻経過後の最初のプロセスにその処理をさせればいいだけでは? 最初に時刻と定刻処理の状況を確認して、 未処理の場合は、処理してその後のステップへ。 処理してある場合は処理をスキップして次ぎへ。 でいかが?
補足
ご回答ありがとうございます。おっしゃるように、最初のプロセスに更新処理が走るのなら、その更新処理実行中にユーザがWindouwを閉じた場合、当然更新処理は途中のままということになりますが、その際の対策は行っているかわかりますか?よろしくお願いいたします。
お礼
大変お恥ずかしいです。おっしゃるとおりでした。 先入観で思い込んでいただけのようです。助かりました。