• ベストアンサー

箱庭の定時処理

インターネット上のシュミレーションゲーム「箱庭」などで、ある時間になると処理が走るような機能は、どのように実現しているのでしょうか? 箱庭では、ある時間になると指定した作業(埋め立て、資金繰りなど)が実行されます。WEBアプリケーションなので、だれかがページにアクセスしないと処理は走らないと思うのですが。

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

  • ベストアンサー
  • acacia7
  • ベストアンサー率26% (381/1447)
回答No.4

CGIの基本は、サーバーのプログラムの起動とブラウザーへの出力だけだと思います。 ブラウザーのクローズを読みとって、プログラムの停止をかけるなら別ですが、なにもしなければ、ブラウザーと関係のない処理は動くのでは?・・ かなり曖昧で、申し訳ないですが・・(^^;

redcoffe1020
質問者

お礼

大変お恥ずかしいです。おっしゃるとおりでした。 先入観で思い込んでいただけのようです。助かりました。

その他の回答 (3)

  • acacia7
  • ベストアンサー率26% (381/1447)
回答No.3

cgiの呼び出しがトリガーになって実行処理が呼び出されるだけで、 更新の完了とユーザーのウインドウ終了は無関係では?・・ ユーザーのポストなどの作業が別途必要なプロセスなどは、 定時処理とは別のステップにし、定時処理の終了を確認して移行すれば良いだけです。

redcoffe1020
質問者

補足

ご返事ありがとうございます。 当方ではASPとACCESSを使用していますが、ク エリーやコードを順に実行している時にユーザがブラウ ザを閉じると、現在実行中のクエリーは完了するのです が、それ以降のコードに記述したクエリーは実行されま せん。CGIと仕組みが異なるのでしょうか?

  • Nubatama
  • ベストアンサー率50% (2/4)
回答No.2

質問に対する回答ではないのですが、 「箱庭諸島」は、かならず「指定した時間」に処理が行われているわけではありません。(すくなくとも「箱庭諸島2」「箱庭諸島R.A.」はそうです。) あれもやはり、だれかがcgiにアクセスしたときにターン更新の処理が動いています。

  • acacia7
  • ベストアンサー率26% (381/1447)
回答No.1

定刻経過後の最初のプロセスにその処理をさせればいいだけでは? 最初に時刻と定刻処理の状況を確認して、 未処理の場合は、処理してその後のステップへ。 処理してある場合は処理をスキップして次ぎへ。 でいかが?

redcoffe1020
質問者

補足

ご回答ありがとうございます。おっしゃるように、最初のプロセスに更新処理が走るのなら、その更新処理実行中にユーザがWindouwを閉じた場合、当然更新処理は途中のままということになりますが、その際の対策は行っているかわかりますか?よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう