[TYPO3-english] [TYPO3] Scheduling Extbase Action
SotirisBK
swtos at hotmail.com
Thu Jun 21 18:21:36 CEST 2012
Hi all,
I have created an extension and I have set a Schedule action. I see the
scheduled action correctly in the schedule module and when I execute it
through BE runs normally and completes what is to be done.
so what I've done so far:
(ext_localconf.php)
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['tx_extensionname_utility_scheduler']
= array(
'extension' => $_EXTKEY,
'title' => 'This is a scheduler blah blah',
'description' => 'And does this and that',
);
(ext_autoload.php)
<?php
$extensionPath = t3lib_extMgm::extPath('extensionname');
return array(
'tx_extensionname_utility_scheduler' => $extensionPath .
'Utility/Scheduler.php',
);
?>
(I created under Utility folder the file Scheduler.php)
<?php
class tx_extensionname_utility_scheduler extends tx_scheduler_Task {
public function execute() {
try {
t3lib_div::devlog('--- working ---', 'extensionname', 0);
$configuration = array(
'extensionName' => 'extensionname',
'pluginName' => 'Pi1',
'controller' => 'Mycontroller',
'action' => 'myaction',
'switchableControllerActions' => array(
'Mycontroller' => array(
'actions' => 'myaction'
)
)
);
$_SERVER['REQUEST_METHOD'] = 'GET';
$_GET['tx_extensionname_plugin']['controller'] = 'Mycontroller';
$_GET['tx_extensionname_plugin']['action'] = 'myaction';
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions']['extensionname']['modules']['Pi1']['controllers']
= array(
'Mycontroller' => array(
'actions' => array(
'myaction'
)
)
);
$bootstrap = t3lib_div::makeInstance('Tx_Extbase_Core_Bootstrap');
$result = $bootstrap->run('', $configuration);
t3lib_div::devlog($result , 'extensionname', 0);
return TRUE;
}
catch(Exception $e) {
t3lib_div::devlog('--- error ---'.$e->getMessage(), 'extensionname', 3);
return FALSE;
}
}
}
?>
Unfortunately this doesn't happen when I try to execute it through
"cli_dispatch.phpsh scheduler" command. In this case it seems that it
gets into the scheduler class, reads configuration but never reaches
into the Controller's Action but ends the scheduler normally. Of course
no action was taken! The error that I get from Bootstrap is:
Extbase 1.4.2 usage: ./cli_dispatch.phpsh extbase <command identifier>
See './cli_dispatch.phpsh extbase help' for a list of all available
commands.
Does anybody have a clue why I can execute manually through Scheduler
and fails when it comes to cronjob?
Thanks,
Sotiris
More information about the TYPO3-english
mailing list