2011-04-15 174 views

回答

18

您不能指定Magento Cron Job的存儲範圍,但可以添加其他可以在其中使用的參數。

  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 
    } 
    

所有與商店相關的模型只能爲特定商店加載數據,所以我希望它能解決您的問題。

+1

你是最偉大的,非常感謝!!!! – Jasiufila 2011-04-15 09:20:00

+1

相當古老的答案,但我會嘗試無論如何... Magento 1.7,$我的計劃爲空。你正在使用哪個版本?任何提示? – 2015-01-28 13:21:31

+0

檢查mysql中的cron_schedule表,它是否有條目? – stevensagaar 2015-02-21 11:57:02