本文整理汇总了PHP中Varien_Event_Observer::getExcludeGroups方法的典型用法代码示例。如果您正苦于以下问题:PHP Varien_Event_Observer::getExcludeGroups方法的具体用法?PHP Varien_Event_Observer::getExcludeGroups怎么用?PHP Varien_Event_Observer::getExcludeGroups使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Varien_Event_Observer
的用法示例。
在下文中一共展示了Varien_Event_Observer::getExcludeGroups方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: dispatchAlways
/**
* Process cron queue for tasks marked as 'always'
*
* @param Varien_Event_Observer $observer
*/
public function dispatchAlways(Varien_Event_Observer $observer)
{
if (!Mage::getStoreConfigFlag('system/cron/enable')) {
return;
}
$processManager = Mage::getModel('aoe_scheduler/processManager');
/* @var $processManager Aoe_Scheduler_Model_ProcessManager */
$processManager->watchdog();
$scheduleManager = Mage::getModel('aoe_scheduler/scheduleManager');
/* @var $scheduleManager Aoe_Scheduler_Model_ScheduleManager */
$helper = Mage::helper('aoe_scheduler');
/* @var Aoe_Scheduler_Helper_Data $helper */
$includeJobs = $helper->addGroupJobs((array) $observer->getIncludeJobs(), (array) $observer->getIncludeGroups());
$excludeJobs = $helper->addGroupJobs((array) $observer->getExcludeJobs(), (array) $observer->getExcludeGroups());
/* @var $jobs Aoe_Scheduler_Model_Resource_Job_Collection */
$jobs = Mage::getSingleton('aoe_scheduler/job')->getCollection();
$jobs->setWhiteList($includeJobs);
$jobs->setBlackList($excludeJobs);
$jobs->setActiveOnly(true);
foreach ($jobs as $job) {
/* @var Aoe_Scheduler_Model_Job $job */
if ($job->isAlwaysTask() && $job->getRunModel()) {
$schedule = $scheduleManager->getScheduleForAlwaysJob($job->getJobCode());
if ($schedule !== false) {
$schedule->process();
}
}
}
}
示例2: dispatchAlways
/**
* Process cron queue for tasks marked as 'always'
*
* @param Varien_Event_Observer $observer
*/
public function dispatchAlways(Varien_Event_Observer $observer)
{
if (!Mage::getStoreConfigFlag('system/cron/enable')) {
return;
}
$processManager = Mage::getModel('aoe_scheduler/processManager');
/* @var $processManager Aoe_Scheduler_Model_ProcessManager */
$processManager->watchdog();
$scheduleManager = Mage::getModel('aoe_scheduler/scheduleManager');
/* @var $scheduleManager Aoe_Scheduler_Model_ScheduleManager */
$helper = Mage::helper('aoe_scheduler');
/* @var Aoe_Scheduler_Helper_Data $helper */
$includeJobs = $helper->addGroupJobs((array) $observer->getIncludeJobs(), (array) $observer->getIncludeGroups());
$excludeJobs = $helper->addGroupJobs((array) $observer->getExcludeJobs(), (array) $observer->getExcludeGroups());
/* @var $jobs Aoe_Scheduler_Model_Resource_Job_Collection */
$jobs = Mage::getSingleton('aoe_scheduler/job')->getCollection();
$jobs->setWhiteList($includeJobs);
$jobs->setBlackList($excludeJobs);
$jobs->setActiveOnly(true);
foreach ($jobs as $job) {
/* @var Aoe_Scheduler_Model_Job $job */
if ($job->isAlwaysTask() && $job->getRunModel()) {
$repetition = 0;
do {
$reason = $repetition == 0 ? Aoe_Scheduler_Model_Schedule::REASON_ALWAYS : Aoe_Scheduler_Model_Schedule::REASON_REPEAT;
$schedule = $scheduleManager->getScheduleForAlwaysJob($job->getJobCode(), $reason);
$schedule->setRepetition($repetition);
// this is not persisted, but can be access from within the callback
if ($schedule !== false) {
$schedule->process();
}
$repetition++;
} while ($repetition < 10 && $schedule->getStatus() == Aoe_Scheduler_Model_Schedule::STATUS_REPEAT);
}
}
}