-1

私はプロジェクトで立ち往生しています、そのクイックフィックスプロジェクト&私はこれについていくつかの専門家の助けが必要です。私のクライアントは2つの別々のウェブサイトを持っています。

1. http://abc123.com/using-cron-job-update-this-folder.txt <-- I'm working on this
2. http://bw.aaaaaa.com/blah.txt                           <-- Client's 2nd site where some txt gets updated almost twice a day, on this folder blah.txt

を実行するには、phpスニペットが必要です。つまり、リアルタイムでcronjobテキストを取得し、サイト1でテキストが更新されるとすぐに更新します。site2 - http://bw.aaaaaa.com/blah.txtsite1 - http://abc123.com/using-cron-job-update-this-folder.txt

4

1 に答える 1

0

これによりサーバーリソースの使用率が高くなる可能性があり、あまりお勧めできませんが、次の方法で続行できます。

  1. 別のサーバーからファイルを取得するサーバー-CLIENTという名前を付けましょう。
  2. CLIENTによってコピーされる新しい情報を含むサーバー-SERVERという名前を付けましょう。

クライアントで、CURLを使用してリモートファイルのヘッダーのみ、より具体的には変更日をダウンロードするPHPスクリプトを作成します。

次の回答は、有用なスニペットを提供します。

この日付を保存し、次にスクリプトを実行するときに、スクリプトが更新されているかどうかを確認してから、本文を含む完全なソースをダウンロードして、好きなように保存します(たとえば、クライアントのローカルtxtファイルに保存します)。

再びCLIENTで、毎秒または5秒ごとに実行される、またはコンテンツを更新したい場合に頻繁に実行されるcronジョブを作成します。これは、cronジョブの設定に役立つ場合があります。

または、ループして何かを実行し(リモートファイルをダウンロード)、1秒間スリープし、これを合計60秒間実行してから停止する、単一のPHPスクリプトを作成することもできます。これを毎分実行されるcronジョブと組み合わせると、毎秒CLIENTサーバーへのcron呼び出しを行わなくても、同じ効果が得られます。このアプローチの実装を確認するには、この質問とその受け入れられた回答を参照してください。

より適切で推奨される代替手段は、クライアント側で実行されるAJAXを使用することです。ユーザーのマウスが移動したらすぐに実行し、サーバー側で公開できるAPI(たとえば、ユーザーのブラウザー内のjQueryなどのJavaScriptライブラリによって解析されるJSON形式でデータを返すAPIを介してサーバーから日付を取得します) )。Facebookの壁はこのようにコーディングされています。背景タブで壁を開いたままにしておくと、新しいコンテンツは読み込まれません。それに戻ってマウスでホバーするとすぐに、新しい投稿が表示されます。

于 2012-09-26T16:16:39.893 に答える