예제 #1
0
파일: common.php 프로젝트: superman1982/ddd
function create_common_task($post, $userid, $task_type, $task_opt, $task_data)
{
    #print_r($post);
    $db = new DBObj();
    $db->conn(DBS_MAIN);
    $db->select_db(DB_DNSPRO);
    $sql = "SELECT * FROM `server_list` where type = 'node_mgr';";
    $result = $db->query($sql);
    $sids = array();
    while ($row = mysql_fetch_array($result)) {
        $sid = $row['sid'];
        $sids[$sid] = $sid;
    }
    mysql_free_result($result);
    $timeout = 30;
    $retry = 1;
    $status = 'init';
    $sql = "insert into `task_list`(`cid`, `type`, `opt`, `timeout`, `retry`, `data`, `status`, `starttime`) \n\t\t\tvalues({$userid}, '{$task_type}', '{$task_opt}', {$timeout}, {$retry}, '{$task_data}', '{$status}', now())";
    $db->query($sql);
    if ($db->affected_rows() != 1) {
        do_fail(1, 'insert into task_list fail ' . $sql);
    }
    $taskid = $db->get_last_id();
    $sql = '';
    foreach ($sids as $sid) {
        $sql = "insert into `task_feedback`(`taskid`, `sid`, `timeout`, `retry`, `tried`, `status`, `starttime`) \n            \tvalues({$taskid}, '{$sid}', {$timeout}, {$retry}, 0, '{$status}', now());";
        $db->query($sql);
    }
    if ($db->affected_rows() <= 0) {
        do_fail(1, 'insert into task_feedback fail ' . $sql);
    }
    $ret = array('ret' => 0, 'error' => '', 'result' => array());
    print_r(json_encode($ret));
}