[TYPO3-mvc] How to call an extbase controller within scheduler task

Claus Due claus at wildside.dk
Fri Dec 2 10:12:10 CET 2011


Hi Sören,

Better yet:

Use a CommandController and this feature:

https://review.typo3.org/#change,6932

Extension FED provides this feature now. The change request has also been made for Extbase itself and should be compatible, so you can start out by using the feature in FED and then moving to Extbase once a version including that feature is released.

This should be much, much more flexible than overriding $_GET (seriously bad idea).

Kind regards,
Claus


On Dec 1, 2011, at 5:27 PM, Sören Kracker wrote:

> Hi,
> I need to call a controller of my extbase extension using a task of TYPO3 scheduler.
> I always get following error (manually called in backend with admin user):
> The default controller can not be determined. Please check for Tx_Extbase_Utility_Extension::configurePlugin() in your ext_localconf.php.
> 
> My configurePlugin:
> 
> Tx_Extbase_Utility_Extension::configurePlugin(
>    $_EXTKEY,
>    'Myplugin',
>    array(
>        'Mycontroller' => 'list, import, show, new, create, edit, update, delete',
>    ),
>    // non-cacheable actions
>    array(
>        'Mycontroller' => 'create, update, delete, import',
>    )
> );
> 
> 
> Here's the scheduler class:
> 
> class Tx_Myext_Utility_Scheduler extends tx_scheduler_Task {
>    public function execute() {
>        try {
>            t3lib_div::devlog('--- working ---', 'myext', 0);
>            $configuration = array(
>                'extensionName' => 'Myext',
>                'pluginName' => 'Myplugin',
>                'controller' => 'Mycontroller',
>                'action' => 'import',
>                'switchableControllerActions' => array(
>                    'Mycontroller' => array(
>                        'actions' => 'import'
>                    )
>                )
>            );
>            $bootstrap = t3lib_div::makeInstance('Tx_Extbase_Core_Bootstrap');
>            $bootstrap->run('', $configuration);
>            return TRUE;
>        }
>        catch(Exception $e) {
>            t3lib_div::devlog('--- error ---'.$e->getMessage(), 'myext', 0);
>            return FALSE;
>        }
>    }
> }
> 
> I'm not sure if my bootstrap-call is correct. Maybe somebody got a working example how to do this?!
> 
> Greetings,
> 
> Sören
> _______________________________________________
> TYPO3-project-typo3v4mvc mailing list
> TYPO3-project-typo3v4mvc at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-project-typo3v4mvc



More information about the TYPO3-project-typo3v4mvc mailing list