Магазин Magento ID в Cronjob - PullRequest
       34

Магазин Magento ID в Cronjob

6 голосов
/ 15 апреля 2011

Можно ли указать идентификатор магазина в качестве параметра при выполнении модели с помощью cronjob?

1 Ответ

18 голосов
/ 15 апреля 2011

Вы не можете указать область хранилища для задания Magento Cron, но вы можете добавить дополнительные аргументы, которые вы можете использовать внутри него.

  1. Укажите дополнительный узел, который вы можете обработать с помощью метода 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. И метод, в котором вы получаете объект расписания с текущим кодом задания:

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

Все модели, связанные с магазином, могут загружать данные только для определенного магазина, поэтому я надеюсь, что это решит вашу проблему.

...