ある日突然cronによるデータ取得ができなくなった原因は・・・

更新:

私が運営している別のサイトでは、自作のPHPプログラムを使って外部サイトのデータを取得している。 cronを使って定期的にこのプログラムを実行している。

長い間特に問題なく動作していたが、ある日データが更新されていないことに気づいた。 プログラム(ソースコード)に変更はない。 参照先の外部サイトを見ても該当のファイルは存在する。 アクセスを規制されたのかと思い、手動で実行してみたところデータを取得できた。

ただ気になったのは、そのサイトが重いということ。 まさかと思い、cronを実行する時刻を変更したところ、今まで通りデータを取得できるようになった。 一応混在を考えて日本時間の早朝5時0分に実行していた。 ただ、海外サーバーなので18時に変更した。 さらに0分丁度ではなく20分に変更した。

APIやデータファイルなどを公開しているサイトは、多くの人がそのサイトにプログラムを使ってアクセスしている。 特にcronを利用する場合、0分丁度に実行するように設定している人が多い。 そのため対象サーバーは0分に特に重くなり、レスポンスが悪くなる。

また0分以外にも、18~24時頃はサイト自体が混在して重くなることがある。 海外サーバーの場合は、その国の18~24時頃。

サイトによっては混在をさけて実行するよう促している場合もある。 私は今までこういった事象に遭遇したことがなかったため、特に気にせずcronを0分に実行していた。 相手のサーバーが重そうな場合、今後注意したい。


このエントリーをはてなブックマークに追加