TYPO3 で cronjob をセットアップする方法を教えてもらえますか? 週に一度実行したい TYPO3 拡張機能を作成しました。スケジューラ拡張機能は既にインストールしていますが、一部の拡張機能 ( tt_news など) しか実行できません。
ありがとうございました。
拡張機能は - システム拡張機能をサポートしているScheduler
必要があります (最初にインストールする必要がある場合があります)。したがって、拡張機能をスケジューラ サービスに登録する必要があります。
あなたのext_localconf.php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['TX_YOUR_EXTENSIONKEY'] = array(
'extension' => $_EXTKEY,
'title' => 'Some meningful Title',
'description' => 'Some Discription of the Task'
);
tasks/class.TX_YOUREXTENSKEY.php
拡張ディレクトリにファイルを作成する必要があります
class TX_YOUREXTENSKEY extends tx_scheduler_Task {
public function execute() {}
...
}
タスクが実行されると、execute 関数が呼び出されます。すべてがうまくいった場合は true を返し、エラーが発生した場合は false を返します。
最後に、クラスをロードする必要があります。これを使用して実行できますext_autoload.php
(拡張ルートで、詳細についてはTYPO3 Wiki: Autoloadを参照してください) 。
<?php
return array(
'tx_sfpinger_pinger' => t3lib_extMgm::extPath('sfpinger', 'tasks/class.tx_sfpinger_pinger.php')
);
?>
Scheduler
最後に、 ext を定期的に実行する cron コマンドをシステムに追加し(スケジューラのSetup check
セクションにあります)、作成したタスクをそのタスク リストに追加する必要があります。
コードをコピーして拡張機能に貼り付けることができる単なるサンプルであるデモ タスクを確認できます。
また、TYPO3 実装のフォルダー内のスケジューラー タスクと共に提供されるドキュメントを確認してください。/typo3/sysext/scheduler/doc/manual.sxw