谁能告诉我如何在TYPO3中设置cronjob?我创建了一个TYPO3扩展,我希望每周运行一次.我已经安装了调度程序扩展,但它只允许执行一些扩展(例如,tt_news).
谢谢.
小智 8
您的扩展必须支持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'
);
Run Code Online (Sandbox Code Playgroud)
您需要tasks/class.TX_YOUREXTENSKEY.php在扩展目录中创建该文件
class TX_YOUREXTENSKEY extends tx_scheduler_Task {
public function execute() {}
...
}
Run Code Online (Sandbox Code Playgroud)
如果任务被执行,则调用execute函数.如果一切都很好,它应该返回true,如果你有一些错误,它应该是假的.
最后你的类需要加载这可以使用ext_autoload.php(在您的扩展根目录中,请参阅TYPO3 Wiki:Autoload以获取更多详细信息)
<?php
return array(
'tx_sfpinger_pinger' => t3lib_extMgm::extPath('sfpinger', 'tasks/class.tx_sfpinger_pinger.php')
);
?>
Run Code Online (Sandbox Code Playgroud)
最后,您需要添加到将Scheduler定期运行ext的系统cron命令(您将在Scheduler的Setup check部分找到它),并将您创建的任务添加到其任务列表中.
您可以检查演示任务,该任务只是一个示例,您可以从中复制代码并粘贴到您的扩展中.
还要检查TYPO3实现中文件夹中调度程序任务随附的文档: /typo3/sysext/scheduler/doc/manual.sxw