【发布时间】:2015-02-10 01:40:09
【问题描述】:
我目前正在尝试调试一个同步过程 Magento -> Mailchimp,它不起作用。 Ebizmarts/MageMonkey/etc/config.xml 有这个与 cron 作业相关的配置:
<magemonkey_bulksync_import_subscribers>
<schedule><cron_expr>0 * * * *</cron_expr></schedule>
<run><model>monkey/cron::processImportJobs</model></run>
</magemonkey_bulksync_import_subscribers>
所以任务计划每小时执行一次。
现在,我可以从我的 Magento 商店的script that I wrote 清楚地看到我的任务状态是“待定”。然后,一旦任务执行,状态变为“成功”并显示消息“Ebizmarts_MageMonkey_Model_Cron”。
问题是同步没有完成。
因此,为了调试发生的情况,我在 processImportJobs 方法中添加了一些 Mage::log() 行,如下所示:
public function processImportJobs()
{
$job = $this->_getJob('Import');
Mage::log("importing");
if(is_null($job)){
Mage::log("IS NULL!");
return $this;
}
...
事实上,我可以看到“importing IS NULL!”在日志中,所以这就是为什么不同步,我猜。
_getJob 方法是:
protected function _getJob($entity)
{
$job = Mage::getModel("monkey/bulksync{$entity}")
->getCollection()
->addFieldToFilter('status', array('IN' => array('idle', 'chunk_running') ))
->addOrder('created_at', 'asc')
->load();
if(!$job->getFirstItem()->getId()){
return null;
}
return $job->getFirstItem();
}
所以看起来我的 cron 作业状态应该是“空闲”或“块运行”才能执行,但事实并非如此。
有什么提示吗? 谢谢
【问题讨论】:
标签: php magento cron magento-1.7