func MakeSettings() *util.Settings {
	settings := util.NewSettings()
	initFlag(settings)
	flag.Parse()
	if settings.ConfigFile != "" {
		util.LoadSettingFromFile(settings.ConfigFile, settings)
	}
	return settings
}
load setting from json file and input
package main
import (
	"flag"
	"github.com/wcong/ants-go/ants/action"
	AHttp "github.com/wcong/ants-go/ants/action/http"
	"github.com/wcong/ants-go/ants/action/rpc"
	"github.com/wcong/ants-go/ants/action/watcher"
	clusterSupport "github.com/wcong/ants-go/ants/cluster/support"
	"github.com/wcong/ants-go/ants/crawler"
	"github.com/wcong/ants-go/ants/http"
	"github.com/wcong/ants-go/ants/node"
	nodeSupport "github.com/wcong/ants-go/ants/node/support"
	"github.com/wcong/ants-go/ants/util"
	"log"
	"os"
	"strconv"
	"strings"
	"sync"
)
func initFlag(settings *util.Settings) {
	flag.IntVar(&settings.TcpPort, "tcp", settings.TcpPort, "tcp port")
	flag.IntVar(&settings.HttpPort, "http", settings.HttpPort, "http port")
	flag.IntVar(&settings.DownloadInterval, "di", settings.DownloadInterval, "Download Interval in second")
	flag.StringVar(&settings.ConfigFile, "c", settings.ConfigFile, "config file path")
}