Example #1
0
function cron_run($id)
{
    global $_W;
    $cron = pdo_get('core_cron', array('uniacid' => $_W['uniacid'], 'id' => $id));
    if (empty($cron)) {
        return false;
    }
    $extra = array();
    $extra['Host'] = $_SERVER['HTTP_HOST'];
    load()->func('communication');
    $urlset = parse_url($_W['siteurl']);
    $urlset = pathinfo($urlset['path']);
    $response = ihttp_request('http://127.0.0.1/' . $urlset['dirname'] . '/' . url('cron/entry', array('id' => $cron['cloudid'])), array(), $extra);
    $response = json_decode($response['content'], true);
    if (is_error($response['message'])) {
        return $response['message'];
    } else {
        cron_setnexttime($cron);
        $cron_new = pdo_get('core_cron', array('uniacid' => $_W['uniacid'], 'id' => $id));
        if (empty($cron_new)) {
            return true;
        }
        if ($cron_new['status'] != $cron['status'] || $cron_new['lastruntime'] != $cron['lastruntime'] || $cron_new['nextruntime'] != $cron['nextruntime']) {
            load()->model('cloud');
            $cron_new['id'] = $cron_new['cloudid'];
            $status = cloud_cron_update($cron_new);
            if (is_error($status)) {
                return $status;
            }
        }
    }
    return true;
}
Example #2
0
     foreach ($minutenew as $key => $val) {
         $minutenew[$key] = $val = intval($val);
         if ($val < 0 || $var > 59) {
             unset($minutenew[$key]);
         }
     }
     $minutenew = array_slice(array_unique($minutenew), 0, 2);
     $minutenew = implode("\t", $minutenew);
 } else {
     $minutenew = intval($_GPC['minute']);
     $minutenew = $minutenew >= 0 && $minutenew < 60 ? $minutenew : '';
 }
 $data['minute'] = $minutenew;
 if ($id > 0) {
     $data['id'] = $cron['cloudid'];
     $status = cloud_cron_update($data);
     if (is_error($status)) {
         message($status['message'], '', 'error');
     }
     $data['id'] = $id;
     unset($data['cloudid']);
     pdo_update('core_cron', $data, array('id' => $id, 'uniacid' => $_W['uniacid']));
     message('编辑计划任务成功', url('cron/display/list'), 'success');
 } else {
     $status = cloud_cron_create($data);
     if (is_error($status)) {
         message($status['message'], '', 'error');
     }
     $data['cloudid'] = $status['cron_id'];
     pdo_insert('core_cron', $data);
     message('添加计划任务成功', url('cron/display/list'), 'success');