/** * {@inheritdoc} */ public function render(Varien_Object $row) { $executed = $row->getExecutedWithItems(); if ($executed) { return $executed; } $executed = SixBySix_RealTimeDespatch_Model_Resource_Process_Schedule_Collection::getLastScheduleWithItems($row->getEntity())->getExecutedWithItems(); if ($executed) { return $executed; } return 'Pending'; }
/** * Create process schedules. * * @param Mage_Cron_Model_Schedule $schedule * * @return void */ protected function _createProcessSchedule($schedule) { $isNew = $schedule->isObjectNew(); $parts = explode('_', $schedule->getJobCode()); $scheduleWithItems = SixBySix_RealTimeDespatch_Model_Resource_Process_Schedule_Collection::getLastScheduleWithItems($parts[0]); $schedule = Mage::getModel('realtimedespatch/process_schedule')->load($schedule->getId(), 'cron_id')->setCronId($schedule->getId())->setStatus($schedule->getStatus())->setScheduled($schedule->getScheduledAt())->setExecuted($schedule->getExecutedAt())->setType($parts[1])->setEntity($parts[0]); if ($schedule->getStatus() == Mage_Cron_Model_Schedule::STATUS_MISSED) { $schedule->setExecuted(date('Y-m-d H:i:s')); } if (!$schedule->getParentId() && !$isNew && $scheduleWithItems->getId()) { $schedule->setParentId($scheduleWithItems->getParentId()); $schedule->setMessageId($scheduleWithItems->getMessageId()); $schedule->setExecutedWithItems($scheduleWithItems->getExecutedWithItems()); } $schedule->save(); return $schedule; }