[TYPO3-mvc] Scheduling Extbase Action (version 1.4.2)

Frank Krüger fkrueger-ml at mp-group.net
Wed Aug 26 16:52:15 CEST 2015


Hi Sotiris,

maybe using a CommandController is a solution for your issue.

Best regards,
Frank



Am Freitag, den 22.06.2012, 13:26 +0300 schrieb SotirisBK: 
> Hi all,
> 
> I have seen a thread here having many replies and a lot of people 
> responding that had a confirmed solution. I believe this was for extbase 
> version 1.3.
> Following your example 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;
>          }
>      }
> }
> 
> ?>
> 
> The problem:
> 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
> _______________________________________________
> 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