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

Sören Kracker s.kracker at kopfstand-mail.de
Fri Dec 2 12:32:11 CET 2011


Hi Claus,
thanks for the hint, but I have problems with fed too.
First of all: When I try the example Dummy noop, I get an error:
Execution of task "Extbase CommandController Task (fed)" failed with the 
following message: Task failed to execute successfully. Class: 
Tx_Fed_Scheduler_Task

When I try my CommandController I get the same error. I debugged my code 
and it aborts when trying to call a repository method of a mapped class. 
So I've ended up with the same problem as without using fed.
How can I pass my mapping settings?

plugin.tx_myext.persistence.classes.Tx_Myext_Domain_Model_Myname {
     mapping {
         tableName = tx_myotherext_domain_model_myname
         recordType = Tx_Myext_Domain_Model_Myname
     }
}

Greetings,

Sören

Am 02.12.2011 10:12, schrieb Claus Due:
> 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
> _______________________________________________
> 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