/**
  * {@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;
 }