diff --git a/packages/flamenco-manager-go/src/flamenco-manager/flamenco/documents.go b/packages/flamenco-manager-go/src/flamenco-manager/flamenco/documents.go index ca2e1bbd76890e36e1bd219c580eb64af6a5357e..46ae3b5ab929a60706cb98aec08368cc513198fd 100644 --- a/packages/flamenco-manager-go/src/flamenco-manager/flamenco/documents.go +++ b/packages/flamenco-manager-go/src/flamenco-manager/flamenco/documents.go @@ -107,3 +107,9 @@ type MayKeepRunningResponse struct { type SettingsInMongo struct { DepsgraphLastModified *time.Time `bson:"depsgraph_last_modified"` } + +type StatusReport struct { + NrOfWorkers int `json:"nr_of_workers"` + NrOfTasks int `json:"nr_of_tasks"` + Version string `json:"version"` +} diff --git a/packages/flamenco-manager-go/src/flamenco-manager/flamenco/statusreport.go b/packages/flamenco-manager-go/src/flamenco-manager/flamenco/statusreport.go index c227de364e60232e167ec666d469c27fe972543d..3af607505cdc214f5e9644e42dd383806af05ccf 100644 --- a/packages/flamenco-manager-go/src/flamenco-manager/flamenco/statusreport.go +++ b/packages/flamenco-manager-go/src/flamenco-manager/flamenco/statusreport.go @@ -9,15 +9,11 @@ import ( mgo "gopkg.in/mgo.v2" ) -type StatusReport struct { - NrOfWorkers int `json:"nr_of_workers"` - NrOfTasks int `json:"nr_of_tasks"` -} - /** * Reports the status of the manager in JSON. */ -func SendStatusReport(w http.ResponseWriter, r *http.Request, session *mgo.Session) { +func SendStatusReport(w http.ResponseWriter, r *http.Request, session *mgo.Session, + flamenco_version string) { log.Info(r.RemoteAddr, "Status request received") mongo_sess := session.Copy() @@ -42,6 +38,7 @@ func SendStatusReport(w http.ResponseWriter, r *http.Request, session *mgo.Sessi statusreport := StatusReport{ worker_count, task_count, + flamenco_version, } encoder := json.NewEncoder(w) diff --git a/packages/flamenco-manager-go/src/flamenco-manager/main.go b/packages/flamenco-manager-go/src/flamenco-manager/main.go index dda062bfb228a5271738d141f847e5e7eb3ff896..a0a92cfdaa9693e7b450ba7188dbae765d251ea5 100644 --- a/packages/flamenco-manager-go/src/flamenco-manager/main.go +++ b/packages/flamenco-manager-go/src/flamenco-manager/main.go @@ -32,7 +32,7 @@ var task_update_pusher *flamenco.TaskUpdatePusher var task_timeout_checker *flamenco.TaskTimeoutChecker func http_status(w http.ResponseWriter, r *http.Request) { - flamenco.SendStatusReport(w, r, session) + flamenco.SendStatusReport(w, r, session, FLAMENCO_VERSION) } func http_register_worker(w http.ResponseWriter, r *http.Request) { @@ -124,6 +124,7 @@ var cliArgs struct { debug bool jsonLog bool cleanSlate bool + version bool } func parseCliArgs() { @@ -131,6 +132,7 @@ func parseCliArgs() { flag.BoolVar(&cliArgs.debug, "debug", false, "Enable debug-level logging") flag.BoolVar(&cliArgs.jsonLog, "json", false, "Log in JSON format") flag.BoolVar(&cliArgs.cleanSlate, "cleanslate", false, "Start with a clean slate; erases all tasks from the local MongoDB") + flag.BoolVar(&cliArgs.version, "version", false, "Show the version of Flamenco Manager") flag.Parse() } @@ -155,6 +157,11 @@ func configLogging() { func main() { parseCliArgs() + if cliArgs.version { + fmt.Println(FLAMENCO_VERSION) + return + } + configLogging() log.Infof("Starting Flamenco Manager version %s", FLAMENCO_VERSION)