2011-01-06 8 views
0

こんにちは、外部コンテンツを取得してHTMLファイルに保存するJoomlaプラグインを作成しました。このプラグインを定期的に自動的に実行することができます。Joomlaプラグインを定期的に自動的に実行することは可能ですか?

「はい」の場合、処理はどのようになりますか?

または、このスクリプトをいくつかのファイルに置き、定期的に自動的に実行することができます。

助けてください。

答えて

4

はい、このような繰り返しのスケジュールされたタスクを実行するには、cronを使用します。あなたは、サーバーへのSSHアクセスを必要とするこれを設定する

# m h dom mon dow command 
30 * * * * /usr/bin/php /OBFUSCATED/PATH/TO/MY/SCRIPT/listupdater.php 
...例として、cronの に this primerを参照してください、ここで」私はGoogleのsafesites情報を更新する30分ごとに実行するスクリプトのための私のcronファイルであり、コマンドラインから、あなたはねえ、あなたがviのスタイルエディタで編集する方法をよく読んですることをお勧めします

crontab -e 

...

+0

を入力します、これは私が探していたまさにです返事に感謝。それが私の問題を解決します。もう一度感謝します。 –

0

JoomlaはPHPであり、PHPは定期的に実行されません。あなたは外部のプロセスからそれを引き起こす必要があります。幸いにも、すべての現代のオペレーティングシステムはこれを行う方法を提供します。これはcronジョブ(UNIXのようなOSの場合)またはスケジュールされたタスク(ウィンドウ)にすることができます。

ページ(php <name of script>)を実行するコマンドラインPHPスクリプトを追加することをお勧めします。 Joomlaはルーティングを行うためにGETパラメータにかなり依存しているので、これをJoomlaプラグインとしてではなく、.phpファイルに座っている任意のコードとして実行することを検討したいと思うかもしれません。または、Joomlaのindex.phpの代わりに、$ _GETにプラグインがそのことを行うことができるページにルーティングするために必要な値を入力します。それは何もする必要はありません場合は


また、あなたはそれが最近実行されたかどうか(ファイル、またはデータベースフィールドによって)を確認し、すぐに結果を返すすべての要求、上のロードプラグインを作成することができます。もちろん、これはあまり正確ではありません。これは、安定したページビューストリームに依存します。そのようなメンテナンス作業を開始するページをリクエストした場合、訪問者に遅延が発生します。

関連する問題