function cron_tcheck_send() { if (NewsletterConfig::load('cron') || NewsletterConfig::load('_cronAuto')) { $this->layout = false; $this->autoRender = false; Cache::write('newsletter_autocron', 1, 'cron_cache'); if (!isset($this->params['named']['stream'])) { $this->params['named']['stream'] = 1; } $format = $this->NewsletterSending->getDataSource()->columns['datetime']['format']; $sending = $this->NewsletterSending->find('first', array('conditions' => array('or' => array('NewsletterSending.started' => 1, array($this->NewsletterSending->getScheduledCond(), 'NewsletterSending.date <= ' => date($format), 'status NOT' => 'done')), 'NewsletterSending.active' => 1, 'Newsletter.active' => 1), 'recursive' => 0)); if (!empty($sending['NewsletterSending']['scheduled']) && empty($sending['NewsletterSending']['started'])) { $this->NewsletterSending->create(); $this->NewsletterSending->save(array('id' => $sending['NewsletterSending']['id'], 'started' => 1)); $this->log($this->NewsletterSending->data, 'wtf'); $sending['NewsletterSending']['started'] = 1; } if (!empty($sending)) { $this->_process($sending); } else { $this->_consoleOut(null, __('All Sendings are Complete.', true), array('logGeneralMsg' => false)); } $this->_console_render(); //$this->render(false); App::import('Lib', 'Newsletter.NewsletterTask'); NewsletterTask::sync(); } }
function beforeFilter() { Cache::config('newsletter_task', array('engine' => 'File', 'duration' => '+1 hours')); if (!empty($this->params['admin']) && !NewsletterConfig::load('cron') && !Cache::read('newsletter_task', 'newsletter_task')) { App::import('Lib', 'Newsletter.NewsletterTask'); NewsletterTask::sync(); Cache::write('newsletter_task', 1, 'newsletter_task'); } parent::beforeFilter(); }