function sync($async = false)
 {
     /*debug($async);
     		if($async){
     			@ob_flush();
     			flush();
     			//session_write_close();
     			ignore_user_abort(true);
     			set_time_limit(0);
     		}*/
     NewsletterTask::syncSender();
     NewsletterTask::updateBounces();
     //debug("sync");
 }
 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();
 }