Ejecutar un resources desde la consola.

Ejecutar un resources desde la consola.

Si ejecutamos un script desde el shell, y necesitamos ejecutar algún resources en particular, como el de la base de datos. Necesitamos instanciar Zend_Application, y ejecutar los resources que necesitemos.

En este ejemplo vamos a ejecutar un script que nos envié por mail los usuarios registrados en el dia.
cronSendReport.php
  1.  
  2. <?php
  3. defined(‘APPLICATION_PATH’)  || define(‘APPLICATION_PATH’, realpath(dirname(__FILE__) . ‘/../application’));
  4. set_include_path(implode(PATH_SEPARATOR, array(
  5. APPLICATION_PATH . ‘/../library’,
  6. )));
  7.  
  8. require_once ‘Zend/Loader/Autoloader.php’;
  9. Zend_Loader_Autoloader::getInstance();
  10.  
  11. // Iniciamos Zend_Application
  12. $application = new Zend_Application(
  13. APPLICATION_ENV,
  14. APPLICATION_PATH . ‘/configs/application.ini’
  15. );
  16.  
  17.  
  18. // Ejecutamos el resource que trae los datos de conexion.
  19. $bootstrap = $application->getBootstrap();
  20. $bootstrap->bootstrap(‘db’);
  21.  
  22. $dbAdapter = $bootstrap->getResource(‘db’);
  23.  
  24. $query = ‘SELECT count(*) total from users where date(creation_date) = date(now())’
  25. $row = $dbAdapter->fetchRow( $query );
  26.  
  27. $mail = new Zend_Mail();
  28. $mail->setBodyText( "Hoy se registraron {$row['total']}" );
  29. $mail->setFrom( "mimail@pablo-morales.com" );
  30. $mail->setSubject( "Reporte de nuevos usuarios" );
  31. $mail->send();
  32.  
  33. ?>
  34.  
La forma de ejecutarlo, es
$ php cronSendReport.php
En el ejemplo solo vemos como se ejecuta uno de los resources, pero podemos ejecutar todos los que necesitemos llamando al método bootstrap de Zend_Application.

Trackbacks / Pings

Leave a Reply




XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe without commenting