2011-04-15 14 views

Respuesta

18

No puede especificar el alcance de la tienda para Magento Cron Job, pero puede agregar argumentos adicionales que puede usar dentro de él.

  1. Especificar nodo adicional que se puede procesar a través de su método de cron:

    <crontab> 
        <jobs> 
         <job_name> 
          <schedule> 
           <cron_expr>* * * * * *</cron_expr>  
          </schedule> 
          <run> 
           <model>module/observer::myJob</model> 
          </run> 
          <store>store_code</store> 
         </job_name> 
        </jobs> 
    </crontab> 
    
  2. y el método en el que la recepción del objeto de programación con el código de trabajo actual:

    public function myJob($schedule) 
    { 
        $jobsRoot = Mage::getConfig()->getNode('crontab/jobs'); 
        $jobConfig = $jobsRoot->{$schedule->getJobCode()}; 
        $yourStoreNode = (string) $jobConfig->store; 
    
        // Here goes store related functionality 
    } 
    

Todos los modelos relacionados con la tienda pueden cargar datos solo para una tienda en particular, por lo que espero que resuelva su problema.

+1

Eres el mejor, muchas gracias !!!! – Jasiufila

+1

bastante vieja respuesta, pero lo intentaré de todos modos ... Magento 1.7, $ horario para mí es nulo. ¿Qué versión está utilizando? ¿Algún consejo? –

+0

Comprobar la tabla cron_schedule en mysql, ¿tiene entradas? – stevensagaar

Cuestiones relacionadas