Example #1
0
 function run($pid = 0)
 {
     global $_G;
     $timestamp = TIMESTAMP;
     save_syscache('pick_run', TIMESTAMP + 300);
     $cron = DB::fetch_first("SELECT lastrun,nextrun,pid,cron_minute,cron_hour,cron_day,cron_weekday FROM " . DB::table('strayer_picker') . " WHERE is_auto_pick>'0' AND nextrun<='{$timestamp}' ORDER BY nextrun LIMIT 1");
     if ($cron['cron_day'] == 0) {
         $cron['cron_day'] = -1;
     }
     $processname = 'PICK_CRON_' . (empty($pid) ? 'CHECKER' : $cron['pid']);
     if ($pid && !empty($cron)) {
         discuz_process::unlock($processname);
     }
     if (discuz_process::islocked($processname, 600)) {
         return false;
     }
     if ($cron['pid']) {
         require_once PICK_DIR . '/lib/pick.class.php';
         $cron['cron_minute'] = explode(",", $cron['cron_minute']);
         pick_cron::setnextime($cron);
         @set_time_limit(1000);
         @ignore_user_abort(TRUE);
         $pick = new pick($cron['pid'], 1);
         $pick->run_start();
     }
     pick_cron::nextcron();
     discuz_process::unlock($processname);
     return true;
 }
Example #2
0
function start_pick()
{
    require_once PICK_DIR . '/lib/pick.class.php';
    $pick = new pick();
    $pick->run_start();
}