示例#1
0
文件: console.go 项目: unikk/cuto
// 標準出力へメッセージコードcodeに対応したメッセージを表示する。
//
// param : code メッセージコードID。
//
// param : a... メッセージの書式制御文字に渡す内容。
//
// return : 出力文字数。
//
// return : エラー情報。
func Display(code string, a ...interface{}) (int, error) {
	msg := GetMessage(code, a...)
	log.Info(msg)

	for _, s := range stack_msg {
		if code == s {
			PrintStack()
		}
	}
	return fmt.Println(msg)
}
示例#2
0
文件: servant.go 项目: unikk/cuto
func isEndSig(sig os.Signal) bool {
	log.Info("Receive Signal : ", sig)
	if sig == syscall.SIGHUP {
		// ハングアップ?
		config.ReloadConfig()
	} else if sig == syscall.SIGTERM || sig == syscall.SIGINT {
		// 終了シグナル
		return true
	}
	return false
}
示例#3
0
文件: jobex.go 项目: unikk/cuto
// readerから読み込んだ拡張ジョブ定義CSVをパースする。
// 空のカラムにはゼロ値をセットする。
//
// param : reader ファイルリーダー。
//
// return : 拡張ジョブ情報のパース後Map。
//
// return : エラー情報。
func ParseJobEx(reader io.Reader) (map[string]*JobEx, error) {
	r := csv.NewReader(reader)
	jobExMap := make(map[string]*JobEx)

	for i := 1; ; i++ {
		record, err := r.Read()
		if err == io.EOF {
			break
		} else if err != nil {
			return nil, err
		}

		if i == 1 {
			// タイトル行を無視する
			continue
		}

		if len(record) != noSecondary && len(record) != withSecondary {
			log.Info("Jobex line[%d] was ignored: Irregal column count[%d].", i, len(record))
			continue
		}

		name := record[nameIdx]
		if len(name) == 0 {
			log.Info("Jobex line[%d] was ignored: Empty job name.", i)
			continue
		}

		je := NewJobEx()
		je.Node = record[nodeIdx]
		if port, err := strconv.Atoi(record[portIdx]); err == nil {
			je.Port = port
		}
		je.FilePath = record[pathIdx]
		je.Param = record[paramIdx]
		je.Env = record[envIdx]
		je.Workspace = record[workIdx]
		if wrc, err := strconv.Atoi(record[wrcIdx]); err == nil {
			je.WrnRC = wrc
		}
		je.WrnPtn = record[wptIdx]
		if erc, err := strconv.Atoi(record[ercIdx]); err == nil {
			je.ErrRC = erc
		}
		je.ErrPtn = record[eptIdx]
		if tmout, err := strconv.Atoi(record[tmoutIdx]); err == nil {
			je.TimeoutMin = tmout
		}

		if len(record) >= withSecondary {
			je.SecondaryNode = record[secNodeIdx]
			if port, err := strconv.Atoi(record[secPortIdx]); err == nil {
				je.SecondaryPort = port
			}
		}

		jobExMap[name] = je
	}

	return jobExMap, nil
}