Exemplo n.º 1
0
 public static function run($cronid = 0)
 {
     global $_G;
     $cron = $cronid ? C::t('cron')->fetch($cronid) : C::t('cron')->fetch_nextrun(TIMESTAMP);
     $processname = 'DZZ_CRON_' . (empty($cron) ? 'CHECKER' : $cron['cronid']);
     if ($cronid && !empty($cron)) {
         dzz_process::unlock($processname);
     }
     if (dzz_process::islocked($processname, 600)) {
         return false;
     }
     if ($cron) {
         $cron['filename'] = str_replace(array('..', '/', '\\'), '', $cron['filename']);
         $efile = explode(':', $cron['filename']);
         if (count($efile) > 1) {
             $cronfile = DZZ_ROOT . './dzz/' . $efile[0] . '/cron/' . $efile[1];
         } else {
             $cronfile = DZZ_ROOT . './core/cron/' . $cron['filename'];
         }
         if ($cronfile) {
             $cron['minute'] = explode("\t", $cron['minute']);
             self::setnextime($cron);
             @set_time_limit(1000);
             @ignore_user_abort(TRUE);
             if (!@(include $cronfile)) {
                 return false;
             }
         }
     }
     self::nextcron();
     dzz_process::unlock($processname);
     return true;
 }
Exemplo n.º 2
0
 private static function _cmd($cmd, $name, $ttl = 0)
 {
     static $allowmem;
     if ($allowmem === null) {
         $mc = memory('check');
         $allowmem = $mc == 'memcache' || $mc == 'redis';
     }
     if ($allowmem) {
         return dzz_process::_process_cmd_memory($cmd, $name, $ttl);
     } else {
         return dzz_process::_process_cmd_db($cmd, $name, $ttl);
     }
 }