Documentation ¶
Overview ¶
oms is openM++ JSON web-service which is also used as simple web-server for openM++ UI html pages.
Web-service allow to view and update model database(s) and run openM++ models from models/bin subdirectory. Web-server allow to serve static html (css, images, javascipt) content from html subdirectory.
Arguments for oms can be specified on command line or through .ini file:
oms -ini my-oms.ini oms -OpenM.IniFile my-oms.ini
Command line arguments take precedence over ini-file options.
Following arguments supporetd by oms:
-oms.RootDir om/root
oms root directory, default: current directory. Expected to have models/bin/ subdirectory unless other location specified: -oms.ModelDir /dir/models/bin. Recommended to have models/log/ subdirectory unless other location specified: -oms.ModelLogDir /dir/models/log. Expected to have html/ subdirectory unless -oms.ApiOnly true specified. Expected to have etc/ subdirectory with templates to run models on MPI cluster. Recommended to have log/ subdirectory to store oms web-service log files.
-oms.ModelDir models/bin
models executable and model.sqlite database files directory, default: models/bin, If relative then must be relative to oms root directory.
-oms.ModelLogDir models/log
models log directory, default: models/log, if relative then must be relative to oms root directory.
-oms.HomeDir models/home
user personal home directory to store files and settings. If relative then must be relative to oms root directory. Default value is empty "" string and it is disable use of home directory.
-oms.AllowDownload false
if true then allow download from user home/io/download directory.
-oms.AllowUpload false
if true then allow upload to user home/io/upload directory.
-l localhost:4040 -oms.Listen localhost:4040
address to listen, default: localhost:4040. Use -l :4040 if you need to access oms web-service from other computer (make sure firewall configured properly).
-oms.UrlSaveTo someModel.ui.url.txt
file path to save oms URL which can be used to open web UI in browser. Default: empty value, URL is not saved in a file by default. Example of URL file content: http://localhost:4040
-oms.ApiOnly false
if true then API only web-service, it is false by default and oms also act as http server for openM++ UI.
-oms.LogRequest false
if true then log HTTP requests on console and/or log file.
-oms.MaxRowCount 100
default number of rows to return from read parameters or output tables, default: 100. This value is used if web-service method call does not provide explicit number of rows to read.
-oms.Languages en
comma-separated list of supported languages, default: en. That list is matched with request language list and model language list in order to return proper text results.
-oms.DoubleFormat %.15g
format to convert float or double value to string, default: %.15g. OpenM++ is using hash digest to compare models, input parameters and output values. By default float and double values converted into text with "%.15g" format.
-oms.CodePage
"code page" to convert source file into utf-8, for example: windows-1252. It is used only for compatibility with old Windows files.
-oms.MaxRunHistory 100
max number of model runs to keep in run list history, default: 100.
Also oms support OpenM++ standard log settings (described in openM++ wiki):
-OpenM.LogToConsole: if true then log to standard output, default: true -v: short form of: -OpenM.LogToConsole -OpenM.LogToFile: if true then log to file -OpenM.LogFilePath: path to log file, default = current/dir/exeName.log -OpenM.LogUseDailyStamp: if true then use dayily stamp in log file name (rotate log files dayily) -OpenM.LogUseTs: if true then use time-stamp in log file name -OpenM.LogUsePid: if true then use pid-stamp in log file name -OpenM.LogSql: if true then log sql statements into log file
Source Files ¶
- common.go
- getModel.go
- getModelExtra.go
- getModelText.go
- getRun.go
- getTask.go
- getWorkset.go
- handlerAdmin.go
- handlerDownload.go
- handlerGet.go
- handlerRead.go
- handlerReadCsv.go
- handlerRunModel.go
- handlerUpDown.go
- handlerUpdate.go
- handlerUpdateWorkset.go
- handlerUpload.go
- handlerUser.go
- makeUpDown.go
- modelCatalog.go
- oms.go
- readModelCatalog.go
- readValue.go
- runCatalog.go
- runLog.go
- runModel.go
- updateExtra.go
- updateModelCatalog.go
- updateRun.go
- updateTask.go
- updateWorkset.go
- valueConverter.go