0

LAMP システムを使用して Web サイトを運営しています。

コンテンツはデータベースから取得されます。

キャッシュの目的で、Web サーバーにファイルを作成します (キャッシュ可能なコンテンツを含む) (経由fwrite())。

たまにキャッシュファイルを削除しています(経由unlink())。

ファイルの作成と削除は cronjob で行います。

私の質問は、私のウェブサイトへの訪問者が現在ファイル A.php を閲覧している (= ウェブサーバーからリクエストしている) ときに何が起こるかということです。

正確に言うと、cronjob がunlink()コマンドを発行し、同時にファイルをユーザーに提供するとどうなりますか。

これにより競合状態が発生しますか?

unlink および fwrite 操作からステータスを取得する方法を知っているので、これらの関数が false を返す限り、unlink/fwrite をループできますか (削除/書き込みはできません)。

ご意見・ご回答お待ちしております!

4

1 に答える 1

-1

はい、明らかに競合状態が発生します。Web サーバーからのファイルの要求と cron ジョブからの削除は独立したプロセスであり、どちらがファイルに対して何かを行っているかどうかを知る方法はありません。

于 2013-07-11T11:09:40.390 に答える