2016-06-01 4 views
0

私は彼の最初のウェブサイトを作ろうとしている途中の初心者です。スケジュール設定された時間にウェブサイトを更新するにはどうすればよいですか?

現在、私のウェブサイトは、ページが読み込まれるたびにYahooから天気情報を取得するためにjavascriptを使用しています。何かを設定する方法はありますか?誰もウェブサイトを開いていないときでさえ、真夜中に1回だけ情報を取得しようとしますか?また、私はGithubのページでホストされています。

+0

ヒント:サーバー上のフラットファイルに天気情報を保存します。探しているときにフラットファイルが存在しない、または古すぎる場合は、Yahooから情報を取得して取得しますデータをファイルに格納します。そうでない場合は、フラットファイルから情報を読み込みます。 – Adam

答えて

1

ウェブサイトが開かれていない場合でも、真夜中に1回だけ情報を取得しようとする方法がありますか?

はい、一晩に1回情報を取得するためにcronタスクを作成して、ユーザーがそのデータを取得できる可能性があります。これには、サーバー上でタスクを実行する能力が必要です。

また、私はGithubページによってホストされています。

だから、できませんは、cronタスクを使用します。代わりに、クライアントのクッキーまたはローカルストレージにレスポンスをキャッシュし、24時間後に有効期限を切ることができます。この方法では、各クライアントはローカルキャッシュを最初にチェックし、キャッシュが期限切れになった場合にのみ取り出します。


最後瀕死の息オプション:

セットアップ開発マシン上のcrontaskは、天候をフェッチファイルにそれを書くことができ、その後、githubのにコミットプッシュし、それがいることを実行してい1回/ 1泊その後、ユーザーはGHページから静的データを取得できます。

これはちょっと太すぎるかもしれません。

+0

私はキャッシュのアイディアが好きです。私は後でそれを調べます、助けてくれてありがとう。 – Yifan

+0

外部イベントを使用して、新しいファイルが存在するかどうかをトリガーします(適切な処置を講じます)。たとえば、asp.netを使用する場合、 'application_sessionStart'は良い候補です。 –

+0

@AlexKudryashevそれはGHのページでホストされている、あなたはそれを行うことはできません。 – naomik

関連する問題