[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