谁能告诉我如何在 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() {}
...
}
如果任务被执行,则调用执行函数。如果一切正常,它应该返回 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