Qorus Integration Engine® Enterprise Edition 6.0.27_prod
Loading...
Searching...
No Matches
System Options

Table of Contents

Back to the System Reference Manual Table of Contents

Overview of All System Options

Qorus Domain Options

The following options are all in the qorus option domain and can be set in the options file as well as overridden on the command line when starting qorus.

Qorus System Options

Option Type Default Description
qorus.alert-fs-full int 85 The percentage above which an alert will be raised due to a full filesystem
qorus.alert-smtp-connection string - none - The name of the user connection for the SMTP server for delivering alert emails
qorus.alert-smtp-enable bool False A flag allowing alert emails to be enabled or disabled at runtime
qorus.alert-smtp-from string alert_noreply@$instance Source/from email address for alert emails
qorus.alert-smtp-interval int 60 The interval in seconds for grouping and delivering alert emails
qorus.alert-smtp-to list of strings - none - List of email addresses for delivering alert emails
qorus.allow-node-overcommit-percent int 0 Percent of physical memory that qorus-master will tolerate on a node when launching new processes
qorus.async_delay int 600 Value in seconds: the amount of time a workflow in OMQ::WM_Recovery mode will wait before trying to recover a step with OMQ::StatAsyncWaiting status
qorus.audit list of strings - none - List of string auditing options, for possible values, see Audit Options
qorus.auto-error-update bool True If True, then adding new error definitions for workflows will automatically create or update workflow-specific or global error defintions (the default behavior); if False, then only new global error definitions will be created automatically and updates are never made automatically; updates can only be made manually when this option is False
qorus.autostart-interfaces bool True If True, then workflows, services, and jobs are started automatically when the system is started according to their configuration; if False, then no interfaces are started automatically when the system is started regardless of their configuration
qorus.cache-max int 100000 Maximum number of workflow order data instances to cache after a detach.
qorus.compat-allow-returns bool False If True then the deprecated returns keyword will be allowed in Qorus user code
qorus.compat-broken-cast bool False If True then NOTHING will be accepted by the cast<> operator by setting the %broken-cast option for backwards-compatibility
qorus.compat-broken-int-assignments bool False If True then runtime type checking for the int and softint type restrictions will be disabled globally in all Qore Program contexts by setting the %broken-int-assignments option for backwards-compatibility
qorus.compat-broken-list-parsing bool False If True then inconsistent and broken list parsing will be enabled globally in all Qore Program contexts by setting the %broken-list-parsing option for backwards-compatibility
qorus.compat-broken-logic-precedence bool False If True then broken logic precedence (the default before Qore 0.8.12) will be enabled globally in all Qore Program contexts by setting the %broken-logic-precedence option for backwards-compatibility
qorus.compat-broken-loop-statement bool False If True then support for broken break and continue loop statements (the default before Qore 0.8.13) will be enabled globally in all Qore Program contexts by setting the %broken-loop-statement option for backwards-compatibility
qorus.compat-broken-operators bool False If True then invalid extraneous whitespace will be accepted between the character of multi-character operators in all Qore Program contexts by setting the %broken-operators option for backwards-compatibility
qorus.compat-broken-range bool False If True then range() and xrange() will include the upper limit of the range in the result by setting the %broken-range option for backwards-compatibility
qorus.compat-broken-references bool False If True then reference and *reference type restrictions will have no effect in all Qore Program contexts by setting the %broken-references option for backwards-compatibility
qorus.compat-broken-sprintf bool False If True then sprintf() and related functions and method using print formatting will use the broken, pre-Qorus-4.0 behavior by setting the %broken-sprintf option for backwards-compatibility
qorus.compat-broken-varargs bool False If True then the variable-length argument flag will be set for all Qore abstract methods for backwards-compatibility
qorus.compat-csvutil-force-empty-string bool False If True then CSV parsers provided by the CsvUtil module will return an empty string instead of no value with missing string fields for backwards compatibility with Qorus 3.0
qorus.compat-http-utf8 bool False If True then any HTTP text messages received will be assumed to be in UTF-8 encoding if no charset= entry is included in violation of the HTTP protocol
qorus.compat-ignore-empty-order-key bool False If True then empty workflow order keys are ignored instead of causing an exception to be thrown
qorus.compat-jni-types bool False If True then the more complete and robust automatic data type conversions supported in the updated version of the jni module are disabled
qorus.compat-permissive-api bool False If True then excess argument errors in service APIs will be ignored for backwards-compatibility
qorus.compat-strict-bool-eval bool False If True then the %strict-bool-eval parse option will be enabled for all user code
qorus.compat-string-numbers bool False If True then the "string-numbers" DBI option will be set on all datasources that support this option
qorus.compat-wsdl-allow-any-header bool False If True then Qorus SOAP message generation will allow for SOAP headers to be sent even when the WSDL does not allow for it for backwards compatibility with Qorus 3.0
qorus.compat-wsdl-empty-string-is-nothing bool False If True then Qorus server SOAP services will return a blank value for a required string field when the associated XML element is present as no value instead of an empty string for backwards compatibility with Qorus 3.0
qorus.connection-modules list of strings - none - List of user modules defining user-specific connection types
qorus.cors-allow-credentials bool True Set this option to True to allow CORS requests using credentials; only used if qorus.cors-enable is True
qorus.cors-allow-headers list of strings Content-Type, content-type, Content-Language, content-language, Accept, Accept-Language, Authorization, Qorus-Token This option provides a list of headers allowed in CORS requests; only used if qorus.cors-enable is True
qorus.cors-allow-methods list of strings GET, POST, PUT, PATCH, DELETE, OPTIONS This option provides a list of HTTP methods in all upper case giving the allowed methods in CORS preflight requests for accessing HTTP resources; only used if qorus.cors-enable is True
qorus.cors-allow-origin list of strings * This option provides a list of allowed origins for the Access-Control-Allow-Origin header; if an origin is in this list, then CORS responses will be enabled for the given origin if the qorus.cors-enable option is True; use * to enable CORS for all origins
qorus.cors-enable bool False If True then all Qorus system HTTP handlers will return CORS headers in responses to enable Qorus functionality to be accessible from external web applications
qorus.cors-max-age int 9999999 This option tells HTTP clients how long the results of a preflight request (the info contained in the Access-Control-Allow-Methods and Access-Control-Allow-Headers headers) can be cached; only used if qorus.cors-enable is True
qorus.daemon-mode bool True If True, will fork into the background after the process has started
qorus.dataprovider-modules list of strings - none - List of user modules defining data provider definitions and support
qorus.db-max-threads int 30 Maximum number of parallel tasks to execute when running special database tasks in parallel; should not be larger than qorus.system-pool-maximum
qorus.dbparams-file string see desc. the option is ignored from Qorus 4.0
qorus.default-datasource-coordinated bool False Sets the default mode for qdsp processes without a "coord-mode" option in the datasource connection
qorus.defines hash - none - Set of parse defines for all user code (workflows, services, and jobs) and also for Connection Definition Files
qorus.disable-https-redirect bool False if True then automatic redirects from HTTP to HTTPS requests for the web UI will be disabled, allowing the UI to be accessible from both HTTP and HTTPS listeners at the same time
qorus.disable-qdsp bool False If True then no qdsp processes will be started and direct DB access will be performed
qorus.detach-delay int 3600 Value in seconds: the amount of time workflow order data instances will be cached before being purged from the cache
qorus.dsp-error-timeout int 120000 The amount of time in milliseconds for a runtime exception to be raised if a connection cannot be allocated from a system datasource pool
qorus.dsp-warning-timeout int 5000 The amount of time in milliseconds for a transient alert to be raised if a connection cannot be allocated from a system datasource pool
qorus.http-idle-disconnect int 75 The time in seconds that an HTTP connection to Qorus's HTTP server can remain idle before getting disconnected
qorus.http-secure-certificate string - none - The certificate file in PEM format for HTTPS listeners
qorus.http-secure-private-key string - none - The private key file in PEM format for HTTPS listeners
qorus.http-secure-private-key-password string - none - The password for the private key for HTTPS listeners
qorus.http-secure-server list of strings - none - The optional interface and required port number for HTTPS listeners and other options
qorus.http-server list of strings 8001 The optional interface and required port number for HTTP listeners (list of URLs or hostname:port strings)
qorus.instance-key string "qorus-test-instance" The unique identifier for an instance of Qorus
qorus.job-logfile-template string OMQ-$instance-JOB-$name.log gives the default logfile template for new job log appenders
qorus.job-modules list of strings - none - List of user modules defining functionality to extend job APIs
qorus.kubernetes-namespace string default The namespace to use in Kubernetes REST API calls for autoscaling control
qorus.logdir string - none - The log directory for Qorus
qorus.logfile-template string OMQ-$instance-$name.log Gives the default logfile template for new system log appenders
qorus.manage-interfaces bool True Determines whether or not the system will automatically start and stop workflows, services, and jobs depending on their connection status
qorus.mapper-modules list of strings - none - List of user modules defining user-specific data mapper types
qorus.max-events int 100000 Maximum number of system events to cache
qorus.max-log-files int 10 The default value to use for the rotationCount option for new log appenders supporting file rotation
qorus.max-process-memory-percent int 99 Maximum private (heap + stack etc) memory as a percentage of RAM on the node for a process before the master process will terminate it due to excess memory usage
qorus.max-retries int 5 Number of retries before getting status OMQ::StatError
qorus.max-service-threads int 200 Maximum number of threads a Qorus service can start
qorus.minimum-tls-13 bool False If True the TLS v1.3 protocol will be the minimum supported version with secure connections
qorus.network-key string - none - The file name of an encryption key for private cluster network data encryption and decryption; the file must contain a 32-byte binary encryption key
qorus.node hash - none - a hash of node names to IP addresses for cluster communication
qorus.option-file string see desc. The path to the file containing these system options; the default value depends on the Qorus installation location
qorus.oracle-datasource-pool bool True Enables automatic Oracle instrumentation as described in QorusOracleDatasourcePool
qorus.password-policy-min-length int 0 Minimum password length when changing passwords
qorus.password-policy-mixed-case bool False If new passwords require at least one upper and lower-case letter
qorus.password-policy-numbers bool False If new passwords require at least one number
qorus.password-policy-symbols bool False If new passwords require at least one symbol
qorus.purge-sensitive-data-canceled bool True if Sensitive Data should be purged from the system when an order goes to OMQ::StatCanceled
qorus.purge-sensitive-data-complete bool True if Sensitive Data should be purged from the system when an order goes to OMQ::StatComplete
qorus.rbac-external list of strings - none - The name of a module providing external RBAC facilities to Qorus (for example the argument "QorusLdapAuth" will use the QorusLdapAuth.qm module shipped with Qorus to provide LDAP integration in Qorus)
qorus.rbac-force-user list of strings - none - list of hostnames or IP addresses (IP addresses can contain optional wildcards ‘*') and users in the format: host=user, ex: localhost=admin,192.168.*=operator
qorus.rbac-security bool False Activates RBAC security
qorus.recover_delay int 60 Value in seconds: the amount of time a workflow in OMQ::WM_Recovery mode will wait before trying to recover a step with OMQ::StatRetry status
qorus.recovery-amount int 750 Monetary amount for a single recovered workflow order to estimate the cost savings of automatic technical error recovery in Qorus
qorus.recovery-currency string USD Currency for qorus.recovery-amount
qorus.remoteconnections-file string see desc. This option is ignored since Qorus 4.0 (deprecated)
qorus.scaling-min-replicas int 1 The minimum number of replicas that will be started when Qorus is running under Kubernetes
qorus.scaling-max-replicas int 3 The maximum number of replicas that will be started when Qorus is running under Kubernetes
qorus.scaling-cpu int 50 The percentage CPU usage goal for Kubernetes for all pods
qorus.scaling-memory string "200M" The memory usage target for Kubernetes
qorus.sensitive-data-key string - none - The file name of an encryption key for sensitive order data encryption and decryption defining a 32-byte encryption key
qorus.sensitive-value-key string - none - The file name of an encryption key for sensitive key value data encryption and decryption defining a 4 - 56 byte encryption key
qorus.service-modules list of strings - none - List of user modules defining functionality to extend service APIs
qorus.service-perf-events bool False enables SERVICE_METHOD_PERFORMANCE event emission on all service calls; note that enabling this option can cause service method call performance degredation
qorus.sla-max-events int 100 Maximum SLA events to hold before flushing to DB
qorus.sla-max-sync-secs int 30 Maximum number of seconds to hold SLA events before flushing to DB
qorus.socket-min-throughput int 20480 The minimum socket throughput in bytes/second below which a warning will be raised for socket-based connection objects
qorus.socket-min-throughput-ms int 1000 The minimum time in milliseconds a socket transfer must take for it to be eligible for throughput warnings; transfers that take less time than this are ignored
qorus.socket-warning-timeout int 10000 The socket operation timeout threshold in milliseconds for raising transient alerts against socket-based connection objects
qorus.sql-default-blocksize int 5000 Size of the regular Session Recovery and workflow Startup and Execution SQL batches
qorus.sql-init-blocksize int 200 Size of the first workflow Startup and Execution SQL batch for instant workflow instance processing as soon as possible
qorus.stack-size int - none - The stack size for new threads in bytes; must be >= 524288
qorus.svc-logfile-template string OMQ-$instance-SVC-$name.log Gives the default logfile template for new service log appenders
qorus.sync-delay int 3600 Value in seconds: the amount of time workflow synchronization events will be cached since their last access before being purged from the cache
qorus.system-pool-maximum int 40 Maximum number of connections for the system schema DatasourcePool
qorus.system-pool-minimum int 5 Minimum number of connections for the system schema DatasourcePool
qorus.systemdb string pgsql:omq/omq@omq A database connection string for the system schema DatasourcePool
qorus.transient-alert-max int 1000 Maximum number of transient alert to cache
qorus.use-functional-indices bool False Use functional indices on Oracle and PostgreSQL for workflow overview queries; data can only be returned with a resolution of one day when this option is enabled
qorus.verbose int 5 Deprecated; only used for migrating an indication of the log level to new logger configurations
qorus.vmap-size-threshold int 100 The maximum size of a value map for it to be cached entirely on its first reference
qorus.warning-process-memory-percent int 50 Maximum private (heap + stack etc) memory as a percentage of RAM on the node for a process before a "PROCESS-MEMORY-USAGE" ongoing alert is raised about excessive memory usage for the process
qorus.wf-logfile-template string OMQ-$instance-WF-$name.log Gives the default logfile template for new workflow log appenders
qorus.workflow-modules list of strings - none - List of user modules defining functionality to extend workflow APIs
qorus.workflow-params hash - none - This option is ignored since Qorus 4.0 (deprecated)
qorus.workflow-perf-events bool False enables WORKFLOW_PERFORMANCE event emission for all workflows
qorus.workflow-step-perf-events bool False enables WORKFLOW_STEP_PERFORMANCE event emission for all workflow steps; note that enabling this option can cause workflow step performance degredation

Runtime Read-Only Qorus System Options

The following options can only be set in the System Options File or on the qorus command-line (they cannot be changed after the system starts); listed in alphabetical order:

Qorus System Options Related to Performance and Scalability

See details of the following options for how they affect the system's performance and scalability:

Qorus Client Domain Options

The following options are all in the qorus-client option domain and can be set in the options file.

Qorus System Options

Option Type Default Description
qorus-client.allow-test-execution bool False allows execution of QorusInterfaceTest
qorus-client.applications list of strings - none - The list of user applications present in this instance of Qorus for verification with oload
qorus-client.client-pool-maximum int 10 The Maximum number of connections in datasource connection pools when created from the client (ex: QorusClientAPI::getDatasourcePool())
qorus-client.client-pool-minimum int 3 The minimum number of connections in datasource connection pools when created from the client (ex: QorusClientAPI::getDatasourcePool())
qorus-client.client-url string depends on qorus.http-secure-server and qorus.http-server The URL used to communicate with Qorus from client programs
qorus-client.data-tablespace string - none - The data tablespace name for the datasource given as the prefix of the option name
qorus-client.index-tablespace string - none - The index tablespace name for the datasource given as the prefix of the option name
qorus-client.missing-tag-warning bool True Show missing tag warnings in oload
qorus-client.override-job-params bool False Always override job schedule and runtime parameters when loading jobs with oload, even if they have been changed with the API
qorus-client.proxy-url string - none - The URL of the HTTP proxy for the Qorus server, optionally including any proxy authentication
qorus-client.remote bool True The default value of the "remote" option for oload for interfaces that do not specify this option
qorus-client.warn-deprecated-api bool False If True, oload will warn when loading interface code using deprecated APIs

Option Details


qorus.alert-fs-full

The percentage above which an alert will be raised due to a full filesystem.

Data Type and Default Value

  • int: 85
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus alert-fs-full=75 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.0.0

qorus.alert-smtp-connection

The name of the user connection for the SMTP server for delivering alert emails.

Data Type and Default Value

  • string: no default value
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus alert-smtp-connection=alert-smtp 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.0.0

qorus.alert-smtp-enable

A flag allowing alert emails to be enabled or disabled at runtime.

Data Type and Default Value

Since
Qorus 3.0.0

qorus.alert-smtp-from

Source/from email address for alert emails.

Data Type and Default Value

  • string: alert_noreply@$instance
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus alert-smtp-from=my_instance@example.com 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.0.0

qorus.alert-smtp-interval

The interval in seconds for grouping and delivering alert emails.

Data Type and Default Value

  • int: 60
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus alert-smtp-interval=120 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.0.0

qorus.alert-smtp-to

List of email addresses for delivering alert emails.

Data Type and Default Value

  • list of strings: no default value
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus alert-smtp-to=ops@example.com,monitoring@example.com 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.0.0

qorus.allow-node-overcommit-percent

Sets the percent of physical memory that the qorus master process will tolerate on a node when launching new processes.

Data Type and Default Value

  • int: 0 (no overcommit tolerance = processes that would cause main memory to be exhausted are not launched)
Note
  • This option may also be overridden at the workflow execution instance level by setting a workflow option with this name.
Since
Qorus 4.1.4.p3

qorus.async_delay

Sets the amount of time in seconds a workflow (or workflow thread) running in OMQ::WM_Recovery mode will wait before trying to recover a step with OMQ::StatAsyncWaiting status.

Data Type and Default Value

  • int: 600 (600 seconds = 10 minutes)
Note
  • This option may also be overridden at the workflow execution instance level by setting a workflow option with this name.
  • This option (along with qorus.recover_delay) does not follow the option name standard of using dashes to separate words in the option identifier

qorus.audit

Controls System Auditing by setting the list of events to audit in the AUDIT_EVENTS table; see System Auditing for a description of the possible options (corresponding to Audit Options giving a list of possible values). The default when this option is not present is that nothing will be audited.

System auditing impacts database space used and can also impact performance; only enable auditing for events that need tracking to save space in the database and ensure that performance is maximized.

Data Type and Default Value

  • list of strings: no default value
Note
"*" can also be given as the only value to this option, meaning audit all events
Since
Qorus 2.6.2

qorus.auto-error-update

If True, then adding new error definitions for workflows will automatically create or update workflow-specific or global error defintions (the default behavior); if False, then only new global error definitions will be created automatically and updates are never made automatically; updates can only be made manually when this option is False.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus auto-error-update=False 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 2.8.1.p7

qorus.autostart-interfaces

If True, then workflows, services, and jobs are started automatically when the system is started according to their configuration; if False, then no interfaces are started automatically when the system is started regardless of their configuration.

Data Type and Default Value

Note
  • This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
    qorus autostart-interfaces=False 
    In order to effect a change in the value of this option, it is necessary to restart the server.
  • To ensure that no interfaces are started in a Qorus instance, set this option and qorus.manage-interfaces to False when Qorus is started
Since
Qorus 3.0.2

qorus.cache-max

This option has a direct impact on performance as setting a large number here increases the size of the cache and therefore keeps more data in memory, reducing SQL I/O by reducing the need for the server to query the database for workflow data.

Data Type and Default Value

  • int: 100000
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus cache-max=10000000
In order to effect a change in the value of this option, it is necessary to restart the server.

qorus.compat-allow-returns

If True then the deprecated returns keyword will be allowed in Qorus user code It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-allow-returns=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 4.1.0

qorus.compat-broken-cast

If True then NOTHING will be accepted by the cast<> operator by setting the %broken-cast option in each interface logic container. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-broken-cast=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 4.1.0

qorus.compat-broken-int-assignments

If True then runtime type checking for the int and softint type restrictions will be disabled globally in all Qore Program contexts by setting the %broken-int-assignments option in each interface logic container. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-broken-int-assignments=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1.0

qorus.compat-broken-list-parsing

If True then inconsistent and broken list parsing will be enabled globally in all Qore Program contexts by setting the %broken-list-parsing option in each interface logic container.

This option can be set for backwards-compatibility with Qorus prior to 3.1 if necessary, but code actually affected by the parsing bug is rare; this option should not be necessary in most Qorus installations, and when set introduces inconsistencies in the parser. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-broken-list-parsing=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1.0

qorus.compat-broken-logic-precedence

If True then broken logic precedence (which was the default before Qore 0.8.12) will be enabled globally in all Qore Program contexts by setting the %broken-logic-precedence option in each interface logic container.

This option can be set for backwards-compatibility with Qorus prior to 3.1 if necessary, but code actually affected by the parsing bug is rare; this option should not be necessary in most Qorus installations, and when set introduces inconsistencies in the parser. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-broken-logic-precedence=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1.0

qorus.compat-broken-loop-statement

If True then break and continue statements are accepted also outside loops (the default before Qore 0.8.13). The option applies globally in all Qore Program contexts by setting the %broken-loop-statement option for backwards-compatibility in each interface logic container.

This option can be set for backwards-compatibility with Qorus prior to 3.1.1 if necessary. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-broken-loop-statement=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1.1

qorus.compat-broken-operators

If True then invalid extraneous whitespace will be accepted between the character of multi-character operators (which was the default before Qore 0.8.12) in all Qore Program contexts by setting the %broken-operators option in each interface logic container.

This option can be set for backwards-compatibility with Qorus prior to 3.1 if necessary, but code actually affected by the parsing bug is rare; this option should not be necessary in most Qorus installations. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-broken-operators=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1.0

qorus.compat-broken-range

If True then range() and xrange() will include the upper limit of the range in the result by setting the %broken-range option.

This option can be set for backwards-compatibility with Qorus prior to 5.0 if necessary. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-broken-range=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 5.0

qorus.compat-broken-references

If True then reference and *reference type restrictions will have no effect (which was the case before Qore 0.8.13) in all Qore Program contexts by setting the %broken-references option in each interface logic container.

This option can be set for backwards-compatibility with Qorus prior to 3.1.1 if necessary. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-broken-references=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1.1

qorus.compat-broken-sprintf

If True then sprintf() and related functions and method using print formatting will use the broken, pre-Qorus-4.0 behavior by setting the %broken-sprintf option for backwards-compatibility.

This option can be set for backwards-compatibility with Qorus prior to 4.0 if necessary. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-broken-sprintf=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 4.0

qorus.compat-broken-varargs

If True then the variable-length argument flag will be set for all Qore abstract methods for backwards-compatibility.

This option can be set for backwards-compatibility with Qorus prior to 6.0.6 if necessary. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-broken-varargs=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 6.0.6

qorus.compat-csvutil-force-empty-string

If True then CSV parsers provided by the CsvUtil module will return an empty string instead of no value with missing string fields for backwards compatibility with Qorus 3.0.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-csvutil-force-empty-string=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1.1.p4

qorus.compat-http-utf8

If True then any HTTP text messages received will be assumed to be in UTF-8 encoding if no charset= entry is included.

This option can be set for backwards-compatibility with Qorus prior to 2.7.0.p7 but is a violation of RFC 2616 section 3.7.1. When no character encoding is specified in an HTTP message, the message body must be assumed to be in ISO-8859-1 encodiing according to RFC 2616 (see previous link for more information). It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-strict-bool-eval=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 2.7.0.p9

qorus.compat-ignore-empty-order-key

If True then empty workflow order keys are ignored instead of throwing exception.

Data Type and Default Value

Since
Qorus 4.0

qorus.compat-jni-types

If True then the more complete and robust automatic data type conversions supported in the updated version of the jni module are disabled.

This option can be set for backwards-compatibility with Qorus prior to 4.0; as of Qorus 4.0, more complete type conversions are made when passing data between Qore and Java by the updated version of the jni module. If this global option is set, it can be disabled in individual interfaces by including module-cmd(jni) set-compat-types false in Qore code to reenable full automatic type conversions.

It is recommended not to set this option in new Qorus installations.

See also
JNI Module Compatibility Options for more information.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-jni-compat=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 4.0

qorus.compat-permissive-api

If True then excess arguments in server API calls from user code will be ignored

This option can be set for backwards-compatibility with Qorus prior to 3.1; as of Qorus 3.1, excess arguments passed to server API calls (when compat-permissive-api is not set) will result in CALL-WITH-TYPE-ERRORS exceptions. This option has global effect; it's not possible to set this option on the interface level. It is recommended not to set this option in new Qorus installations.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-permissive-api=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1

qorus.compat-strict-bool-eval

If True then the %strict-bool-eval parse option will be enabled for all user code

This option can be set for backwards-compatibility with Qorus prior to 2.7.0.p3 before the new more intuitive perl- and python-style boolean evaluation behavior was introduced.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-strict-bool-eval=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 2.7.0.p3

qorus.compat-string-numbers

If True then the "string-numbers" DBI option will be set on all datasources that support the option

This option can be set for backwards-compatibility with Qorus prior to 2.7.0.p2 before DBI drivers were updated to support DBI options and when they still returned NUMBER values as strings

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-string-numbers=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 2.7.0.p3

qorus.compat-wsdl-allow-any-header

If True then Qorus SOAP message generation will allow for SOAP headers to be sent even when the WSDL does not allow for it for backwards compatibility with Qorus 3.0.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-wsdl-allow-any-header=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1.1.p4

qorus.compat-wsdl-empty-string-is-nothing

If True then Qorus server SOAP services will return a blank value for a required string field when the associated XML element is present as no value instead of an empty string for backwards compatibility with Qorus 3.0.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus compat-wsdl-empty-string-is-nothing=true
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1.1.p4

qorus.connection-modules

This option sets the set of user modules that provide support for custom user connection types. Each module must define the following public function:

  • public AbstractIterator sub get_schemes() {}: this must return an AbstractIterator object that iterates a list of OMQ::ConnectionScheme objects that enumerate the connection types handled by the module

Furthermore, the following optional functions are supported:

  • public softlist sub required_resources() {}: this optional function can return a list of resources required by the module; currently-supported resources:
  • public sub set_resources(hash $h) {}: (this must be declared if required_resources() is declared) accepts a hash of the resources required by required_resources()

Data Type and Default Value

  • list: no default value
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus connection-modules=RabbitMQConnection 
In order to effect a change in the value of this option, it is necessary to restart the server.
Full path to the module can be specified too; for example:
qorus.connection-modules: RabbitMQConnection,/opt/qorus/modules/Foo.qm 
an example of the module
%requires qore >= 0.9
module TestUserConnectionProvider {
version = "1.0";
desc = "just test the connection provider module";
author = "Qore Technologies, s.r.o.";
url = "http://qoretechnologies.com";
}
%requires QorusClientCore
%new-style
%require-types
%strict-args
%enable-all-warnings
public namespace TestUserConnectionProvider {
public AbstractIterator sub get_schemes() {
softlist<auto> l = (
new ConnectionScheme("qtest", "TestUserConnectionProvider::TestUserConnection"),
);
return l.iterator();
}
public softlist sub required_resources() {
}
public sub set_resources(hash h) {
}
public class TestUserConnection inherits HttpConnection {
constructor(string name, string desc, string url, hash attrs, hash opts)
: HttpConnection(name, desc, url, attrs, opts) {
# some custom things can go here... or into inherited methods
}
string getType() {
return "testuserconnection";
}
}
}
hash< auto > getType(string type, auto v)
constructor(hash< auto > h)
Since
Qorus 3.0.0

qorus.cors-allow-credentials

Set this option to True to allow CORS requests using credentials; only used if qorus.cors-enable is True.

Data Type and Default Value

Since
Qorus 5.0.6

qorus.cors-allow-headers

This option provides a list of headers allowed in CORS requests; only used if qorus.cors-enable is True.

Data Type and Default Value

  • list<string>: ("Content-Type", "content-type", "Content-Language", "content-language", "Accept", "Accept-Language", "Authorization")
Since
Qorus 5.0.6

qorus.cors-allow-methods

This option provides a list of HTTP methods in all upper case giving the allowed methods in CORS preflight requests for accessing HTTP resources; only used if qorus.cors-enable is True.

Data Type and Default Value

  • list<string>: ("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS")
Since
Qorus 5.0.6

qorus.cors-allow-origin

This option provides a list of allowed origins for the Access-Control-Allow-Origin header; if an origin is in this list, then CORS responses will be enabled for the given origin if the qorus.cors-enable option is True; use * to enable CORS for all origins.

Data Type and Default Value

  • list<string>: ("*",)
Since
Qorus 5.0.6

qorus.cors-enable

If True then all Qorus system HTTP handlers will return CORS headers in responses from the Qorus system file, REST, and WebSocket handlers to enable Qorus functionality to be accessible from external web applications.

Data Type and Default Value

Since
Qorus 5.0.6

qorus.cors-max-age

This option tells HTTP clients how long the results of a preflight request (the info contained in the Access-Control-Allow-Methods and Access-Control-Allow-Headers headers) can be cached in seconds; only used if qorus.cors-enable is True.

A value of -1 means to disable caching and require preflight OPTIONS checks for all calls.

Most browsers have limits on the maximum value for this option that is respected, which could vary from a few minutes up to a day (ex: 86400 seconds for Firefox); the Qorus default value is meant to indicate to the browser that the maximum validity period should be used to reduce I/O by eliminating unnecessary preflight OPTIONS calls.

Data Type and Default Value

  • int: 9999999

qorus.dataprovider-modules

This option provides a list of user modules defining data provider definitions and support.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus dataprovider-modules=my-module 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 4.1

qorus.daemon-mode

If this option is set to True then the system will fork into the background after starting.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus daemon-mode=false 
In order to effect a change in the value of this option, it is necessary to restart the server.

qorus.db-max-threads

This option sets the count of simultaneously running parallel tasks in Qorus system database.

This option is used when running database tasks in parallel in special cases like session recoveries and populating workflow event queues to get better performance.

The optimal value of this option is dependent of your Qorus system database configuration hardware; in general the recommended value is "# DB server CPUs + 2".

This value may be tuned according to user requirements.

Data Type and Default Value

  • int: 30
Note
This option should not be greater than the maximum number of sessions in the system DatasourcePool.
Since
Qorus 2.0.3

qorus.dbparams-file

The option is ignored and considered empty from Qorus 4.0; all system datasources are handled as datasource connections; the dbparams is no longer used by Qorus as of Qorus 4.0.

See also
Datasource Connections
Since
Qorus 4.0 the option is ignored

qorus.default-datasource-coordinated

Sets the default mode for qdsp processes without a "coord-mode" option in the datasource connection; see qdsp Coordinated Mode for more information.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command- line; for example:
qorus default-datasource-coordinated=true 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 4.0

qorus.defines

This option sets the parse defines for all user code (workflows, services, and jobs) and also for Connection Definition Files for conditional parsing.

Data Type and Default Value

  • hash: no default value
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus defines=Production=1 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 2.8.1

qorus.disable-qdsp

If True then no qdsp datasource pool processes will be started. In this case, all Qorus processes will use direct DB access instead of redirecting through qdsp: Cluster Datasource Pool Process servers.

This also means that the maximum connection limit for each datasource will only be enforced for each process, meaning that the total maximum connections made to the datasource depends on the number of remove processes accessing that datasource and will not be limited by Qorus.

Only use in case the you are sure that Qorus will not exceed any maximum connection limits for your DB server, and in case you need maximum I/O performance and scalability from Qorus's DB operations.

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus disable-qdsp=true 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 6.0.12

qorus.disable-https-redirect

if True then automatic redirects from HTTP to HTTPS requests for the web UI will be disabled, allowing the UI to be accessible from both HTTP and HTTPS listeners at the same time.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus disable-https-redirect=true 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qprus 5.1

qorus.detach-delay

This option gives the amount of time in seconds that workflow order data instances will be cached before deleted (see the qorus.cache-max option as well).

This option has a direct impact on performance as setting a large number here keeps more data in memory, for a longer time period reducing SQL I/O by reducing the need for the server to query the database for workflow data. This option should be set according to the requirements of the environment and workflows running on Qorus; the default is one hour (3600 seconds) which may not be appropriate for workflows with long-running asynchronous steps.

It is generally safe to use longer values, however a detach-delay value that is too short will reduce the effectiveness of the cache as the data will be automatically purged before it's needed, therefore it's recommended to set this option to a value a little higher than the longest possible execution time for the longest-running workflow.

Data Type and Default Value

  • int: 3600 (3600 seconds = 1 hour)

qorus.dsp-error-timeout

The amount of time in milliseconds for a runtime exception to be raised if a connection cannot be allocated from a system datasource pool.

Data Type and Default Value

  • int: 120000 (2 minutes)
Since
Qorus 3.0.0

qorus.dsp-warning-timeout

The amount of time in milliseconds for a transient alert to be raised if a connection cannot be allocated from a system datasource pool

Data Type and Default Value

  • int: 5000 (5 seconds)
Since
Qorus 3.0.0

qorus.http-idle-disconnect

This option sets The time in seconds that an HTTP connection to Qorus's HTTP server can remain idle before getting disconnected

Data Type and Default Value

  • int: 75 (75 seconds)
Since
qorus 6.0.15

qorus.http-secure-certificate

This option sets the global certificate path (for X.509 certificates in PEM format) for HTTPS listeners; environment variables are legal and are expanded in this option value. To set the global private key, see qorus.http-secure-private-key.

See also
qorus.http-secure-server

Data Type and Default Value

  • string: no default value
Note
  • This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
    qorus http-secure-certificate=/etc/pki/cert.pem 
    In order to effect a change in the value of this option, it is necessary to restart the server.
  • Certificates and private keys may be also defined for specific HTTPS listeners; see qorus.http-secure-server for more information

qorus.http-secure-private-key

This option sets the global private key path (for private key files for X.509 certificated in PEM format) for HTTPS listeners; environment variables are legal and are expanded in this option value. To set the global certificate, see qorus.http-secure-certificate; to set the private key password; see qorus.http-secure-private-key-password

See also

Data Type and Default Value

  • string: no default value
Note
  • This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
    qorus http-secure-private-key=/etc/pki/key.pem 
    In order to effect a change in the value of this option, it is necessary to restart the server.
  • Certificates and private keys may be also defined for specific HTTPS listeners; see qorus.http-secure-server for more information

qorus.http-secure-private-key-password

This option sets the global password for the the global private key for HTTPS listeners. To set the private key, see qorus.http-secure-private-key; to set the certificate, see qorus.http-secure-certificate.

See also
qorus.http-secure-server
Since
Qorus 3.0.4.p2

Data Type and Default Value

  • string: no default value
    Note
    This option is read-only after system startup; it can only be set in the System Options File or on the command- line; for example:
    qorus http-secure-private-key=/etc/pki/key.pem 
    In order to effect a change in the value of this option, it is necessary to restart the server.

qorus.http-secure-server

This option sets the listener addresses for HTTPS listeners (for encrypted connections). To set the global X.509 certificate see qorus.http-secure-certificate, and to set the global private key, see qorus.http-secure-private-key.

This option takes multiple values separated by commas (whereas parameters for each listener are separated by semicolons). If a single port number is given, then the HTTPS listener will listen on all available interfaces on the given port number. Otherwise, to specify a certain network device and IP address, give the IP address and port in the following format:

  • [ip-address:]port[{cert=file;key=file;password=string}][,...]

ex:

  • 8009
  • 192.168.20.15:8009{cert=$OMQ_DIR/etc/cert1.pem;key=$OMQ_DIR/etc/key1.pem;password=my_password}
  • 192.168.20.77:8085{cert=$OMQ_DIR/etc/cert2.pem;key=$OMQ_DIR/etc/key2.pem},8086{cert=$OMQ_DIR/etc/cert3.pem;key=$OMQ_DIR/etc/key3.pem}

If any of the cert, key, or password parameters are given for a listener, they must be separated by semicolons in the curly bracket parameters expression after the listener specifiction, and in this case they override global options for the X.509 certificate (qorus.http-secure-certificate), the HTTPS private key (qorus.http-secure-private-key), and the private key password (qorus.http-secure-private-key-password). Environment variables are expanded in the cert and key parameters of this option value.

This option may be repeated multiple times to define each listener on a separate line.

Data Type and Default Value

  • list of strings: no default value
See also
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus http-secure-server=8009 
In order to effect a change in the value of this option, it is necessary to restart the server.

qorus.http-server

This option sets the listener addresses for HTTP listeners (for unencrypted connections).

This option takes multiple values separated by commas. If a single port number is given, then the HTTP listener will listen on all available interfaces on the given port number. Otherwise, to specify a certain network device and IP address, give the IP address and port in the following format:

  • ip-address:port (i.e. 192.168.20.15:8009)

Data Type and Default Value

  • list of strings: no default value
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus.http-server: localhost:8081,192.168.20.4:9010 
In order to effect a change in the value of this option, it is necessary to restart the server.

qorus.instance-key

This option sets the name of the application instance. Each Qorus server should have a unique instance name. The instance name will be saved against each application session and will determine if the Qorus instance can connect to the database or not, or if an open application session in the SESSIONS table needs to be recovered.

If two Qorus server instances are given the same instance key name and are started against the same database at the same time, one of the instances might recover the other instance's session while it is still in progress, leading to data corruption.

Data Type and Default Value

  • string: "qorus-test-instance"
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus instance-key=dev-1 
In order to effect a change in the value of this option, it is necessary to restart the server.

qorus.job-logfile-template

Gives the default logfile template for new job log appenders when created from the system UI.

Data Type and Default Value

  • string: "OMQ-$instance-JOB-$name.log"
Since
Qorus 2.6.1

qorus.job-modules

This option provides a list of user modules defining APIs for Qorus jobs; see Job Modules for more information.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus job-modules=my-module 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 4.0

qorus.kubernetes-namespace

The namespace to use in Kubernetes REST API calls for autoscaling control. Note that as of Qorus 6.0.9, the Kubernetes namespace is auto-detected; this option does not need to be set manually.

Data Type and Default Value

  • string: no default value
Since
Qorus 5.1

qorus.logdir

This option sets the path to the system log directory.

Data Type and Default Value

  • string: "$OMQ_DIR/log" (tar installs) "/var/log/qorus" (LSB installs)
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus logdir=/var/log/qorus/dev-1 
In order to effect a change in the value of this option, it is necessary to restart the server.

qorus.logfile-template

Gives the default logfile template for new system log appenders when created from the system UI.

Data Type and Default Value

  • string: "OMQ-$instance-$name.log"
Since
Qorus 1.8.0

qorus.manage-interfaces

The value of this option determines whether Qorus will start and stop workflows, services, and jobs automatically based on their connection status.

Data Type and Default Value

Note
To ensure that no interfaces are started in a Qorus instance, set this option and qorus.autostart-interfaces to False when Qorus is started
Since
Qorus 3.0.0

qorus.mapper-modules

This option sets the set of user modules that provide support for custom data mapper types.

Data Type and Default Value

  • list: no default value
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus connection-modules=RabbitMQConnection 
In order to effect a change in the value of this option, it is necessary to restart the server.
See also
dep_mapper-devel-modules
Since
Qorus 3.1.0

qorus.max-async-retries

This option specifies the retry limit for asynchronous steps until the step will automatically receive an OMQ::StatError status.

If an asynchronous step undergoes this many asynchronous retries without getting a OMQ::StatComplete status, then an appropriate error will be logged and the step's status will be updated to OMQ::StatError.

See also
qorus.max-retries.

Data Type and Default Value

  • int: 20
Note
This option may also be overridden at the workflow execution instance level by setting a workflow option with this name.

qorus.max-events

Sets the maximum number of system events to be held in the system event cache.

Data Type and Default Value

  • int: 100000
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus max-events=10000000 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 2.0.2

qorus.max-log-files

Sets the default value to use for the rotationCount option for new log appenders supporting file rotation (as triggered by PUT /api/latest/system?action=rotateLogFiles or omq.system.rotate-log-files()).

Data Type and Default Value

  • int: 10
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus max-log-files=20 
In order to effect a change in the value of this option, it is necessary to restart the server.

qorus.max-process-memory-percent

Sets the maximum private (heap + stack etc) memory as a percentage of RAM on the node for any single non-critical process before the qorus master process will terminate it due to excess memory usage. This value must be larger than warning-process-memory-percent.

Critical processes must always be running and therefore are never killed; there are two critical processes as follows:

  • qorus-core: the core Qorus process handling global integration services such as the HTTP server and global metadata cache
  • qdsp-omq: the database pool process for the Qorus system schema

Data Type and Default Value

  • int: 99
See also
qorus.warning-process-memory-percent
Note
  • This option is read-only after system startup; it can only be set in the System Options File.
  • Qorus will refuse to start processes in low memory conditions
Since
  • Qorus 4.0: first implementation
  • Qorus 4.1.4.p3: default value changed to 99

qorus.max-retries

This option specifies the retry limit for workflow steps until the step will automatically receive an OMQ::StatError status.

If a step undergoes this many retries (after a OMQ::StatRetry status) without getting a OMQ::StatComplete status, then an appropriate error will be logged and the step's status will be updated to OMQ::StatError.

See also
qorus.max-async-retries.

Data Type and Default Value

  • int: 20
Note
This option may also be overridden at the workflow execution instance level by setting a workflow option with this name.

qorus.max-service-threads

This option sets the maximum number of threads that can be started by a service and running simultaneously.

This value may be tuned according to user requirements. Data Type and Default Value

  • int: 200
Since
Qorus 2.7.0.p2

qorus.minimum-tls-13

If True the TLS v1.3 protocol will be the minimum supported version with secure connections

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus minimum-tls-13=true 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 5.1.36

qorus.network-key

This option gives the file name for the encryption key for private cluster network data encryption and decryption; the file must contain a 32-byte binary encryption key.

If this option is set and the file is not readable or has too permissive permissions, the system cannot be started.

Data Type and Default Value

  • string: no default value
Note
  • To create this file, call user-tool -K
  • Do not change this file while the system is running; all cluster network processes must have the same shared key in order to be able to communicate. The network encryption key can be safely changed when the cluster is shut down.
Since
Qorus 4.0

qorus.node

This option provdes a mapping from node names to IP addresses for cluster communication; the format is a hash where keys are node names and values are IP address values; for example:

node-a=192.168.90.15,node-b=192.168.90.90,node-c=192.168.90.110

If Qorus is started on a machine with an IP address that matches an IP address value set in this option, then that machine will have the node name given for that IP address.

If this option is not set and no addresses match the current machine, the system cannot be started.

Data Type and Default Value

  • string: no default value
Since
Qorus 4.0
Note
Qorus 5.1+ will autodetect this option if not set

qorus.option-file

This option gives the path to the System Options File. It is read-only and can only be set on the command-line when starting the Qorus server, otherwise the system will look in the default location for this file.

Data Type and Default Value

  • string: "$OMQ_DIR/etc/options" (tar installs) or "/etc/qorus/options" (LSB installs)
Note
This option is read-only after system startup; it can only be set on the command-line; for example:
qorus option-file=/tmp/options-dev-1 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 1.8.0

qorus.oracle-datasource-pool

Enables automatic Oracle instrumentation as described in QorusOracleDatasourcePool This option has an effect only for Oracle datasources. In this case the user code won't receive a DatasourcePool object but rather a QorusOracleDatasourcePool object which is compatible with DatasourcePool by inheritance.

Data Type and Default Value

Since
Qorus 3.1.0

qorus.password-policy-min-length

Minimum password length when changing passwords

Data Type and Default Value

  • int: 0
Since
Qorus 6.0

qorus.password-policy-mixed-case

If new passwords require at least one upper and lower-case letter

Data Type and Default Value

Since
Qorus 6.0

qorus.password-policy-numbers

If new passwords require at least one number

Data Type and Default Value

Since
Qorus 6.0

qorus.password-policy-symbols

If new passwords require at least one symbol

Data Type and Default Value

Since
Qorus 6.0

qorus.purge-sensitive-data-canceled

This option determines if Sensitive Data should be purged from the system when an order goes to OMQ::StatCanceled

Data Type and Default Value

Since
Qorus 3.1.1

qorus.purge-sensitive-data-complete

This option determines if Sensitive Data should be purged from the system when an order goes to OMQ::StatComplete

Data Type and Default Value

Since
Qorus 3.1.1

qorus.rbac-external

This option allows the names of one or more modules providing external RBAC facilities to Qorus to be set.

For example the argument "QorusLdapAuth" will use the QorusLdapAuth.qm module shipped with Qorus to provide LDAP integration to Qorus (see LDAP Authentication and RBAC Integration for more info).

For example:

QorusLdapAuth 

Data Type and Default Value

  • list of strings: no default value
Note
  • External RBAC providers will normally require additional system options to be set in their own domain in the options file; for example, the "QorusLdapAuth" module requires options to be set in the "ldap" domain; see LDAP Authentication and RBAC Integration for more information.
  • This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
    qorus rbac-external=QorusLdapAuth 
  • In order to effect a change in the value of this option, it is necessary to restart the server.
  • This option is available in the Enterprise Edition only
Since
Qorus 2.8.0

qorus.rbac-force-user

This option is used to allow unauthenticated connections from a given host or IP address to be made as a certain username.

To set this option, write a host or IP address name followed by an equals sign and the user to connect as. Multiple entries can be given separated by commas as follows:

  • host=user,ip-address=user

For example:

localhost=admin,192.168.20.19=operator 

Note that authenticated connections always use the authentication information included in the message; this option only takes effect with unauthenticated connections.

Data Type and Default Value

  • hash: no default value
Note
  • This option is not required for local access with REST clients using the Qorus client library as long as local clients should run with internal system permissions, as local clients will acquire an internal token valid for the internal system user automatically
  • This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
    qorus rbac-force-user=localhost=admin 
  • In order to effect a change in the value of this option, it is necessary to restart the server.
  • This option is available in the Enterprise Edition only
Since
Qorus 1.7.2

qorus.rbac-security

This option is used to enable RBAC security in the Qorus server.

Please note that the Qorus server can only start with RBAC security enabled if at least one user has the OMQ::QR_SHUTDOWN permission.

Data Type and Default Value

Note
  • This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
    qorus rbac-security=true 
    In order to effect a change in the value of this option, it is necessary to restart the server.
  • This option is available in the Enterprise Edition only
Since
Qorus 1.7.2

qorus.recover_delay

Sets the amount of time in seconds a workflow (or workflow thread) running in RECOVERY mode will wait before trying to recover a step with RETRY status.

Data Type and Default Value

  • int: 300 (300 seconds = 5 minutes)
Note
  • This option may also be overridden at the workflow execution instance level by setting a workflow option with this name.
  • This option (along with qorus.async_delay) does not follow the option name standard of using dashes to separate words in the option identifier

qorus.recovery-amount

Monetary amount for a single recovered workflow order to estimate the cost savings of automatic technical error recovery in Qorus.

Data Type and Default Value

  • int: 750
Since
Qorus 4.0

qorus.recovery-currency

Set the currency for recovery-amount.

Data Type and Default Value

  • string: USD
Since
Qorus 4.0

qorus.remoteconnections-file

The option is ignored and considered empty from Qorus 4.0; all Qorus remote connections are handled as remote Qorus connection objects; the remoteconnections file is no longer used as of Qorus 4.0.

See also
Qorus to Qorus Connections
Since
Qorus 4.0 the option is ignored

qorus.scaling-min-replicas

The minimum number of replicas that will be started when Qorus is running under Kubernetes.

Data Type and Default Value

  • int: 1
Since
Qorus 5.1

qorus.scaling-max-replicas

The maximum number of replicas that will be started when Qorus is running under Kubernetes.

Data Type and Default Value

  • int: 3
Since
Qorus 5.1

qorus.scaling-cpu

The percentage CPU usage goal for Kubernetes for all pods.

Data Type and Default Value

  • int: 50
Since
Qorus 5.1

qorus.scaling-memory

The memory usage target for Kubernetes

Data Type and Default Value

  • string: 200M
Since
Qorus 5.1

qorus.sensitive-data-key

This option give the file name of an encryption key for sensitive order data encryption and decryption. This file must contain a 32-byte encryption key and must be readable only by the application user, or the system cannot be started.

If this option is set and the file is not readable or has too permissive permissions, the system cannot be started.

If this option is not set, then sensitive order data APIs cannot be used.

If this option is set, then the qorus.sensitive-value-key option must also be set.

Data Type and Default Value

  • string: no default value
Note
  • To create this file, call user-tool -K
  • Do not change or lose this file; if the encyrption key is lost or changed, sensitive data stored in the system schema cannot be retrieved or processed.
Since
Qorus 3.1.1

qorus.sensitive-value-key

This option give the file name of an encryption key for sensitive order key value encryption and decryption. This file must contain a 4 - 56 byte encryption key and must be readable only by the application user, or the system cannot be started.

If this option is set and the file is not readable or has too permissive permissions, the system cannot be started.

If this option is not set, then sensitive order data APIs cannot be used.

If this option is set, then the qorus.sensitive-data-key option must also be set.

Data Type and Default Value

  • string: no default value
Note
  • To create this file, call user-tool -K
  • Do not change or lose this file; if the encyrption key is lost or changed, sensitive data stored in the system schema cannot be retrieved or processed.
Since
Qorus 3.1.1

qorus.service-modules

This option provides a list of user modules defining APIs for Qorus services; see service-modules for more information.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus service-modules=my-module 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 4.0

qorus.service-perf-events

Enables SERVICE_METHOD_PERFORMANCE event emission on all service calls; note that enabling this option can cause service method call performance degredation.

Data Type and Default Value

Since
Qorus 3.0.3

qorus.sla-max-events

The maximum number of SLA events to hold before flushing to DB

Data Type and Default Value

  • integer: 100
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line, for example:
qorus sla-max-events=50 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.1.1

qorus.sla-max-sync-secs

The maximum number of seconds to hold SLA events before flushing to DB.

Data Type and Default Value

  • integer: 30
Since
Qorus 3.1.1

qorus.socket-min-throughput

The minimum socket throughput in bytes/second below which a warning will be raised for socket-based connection objects.

Data Type and Default Value

  • integer: 20480
Since
Qorus 3.0.0
Note
This option takes effect only for new connections created after the value is changed.

qorus.socket-min-throughput-ms

The minimum time in milliseconds a socket transfer must take for it to be eligible for throughput warnings; transfers that take less time than this are ignored.

Data Type and Default Value

  • integer: 1000
Since
Qorus 3.0.0
Note
This option takes effect only for new connections created after the value is changed.

qorus.socket-warning-timeout

The socket operation timeout threshold in milliseconds for raising transient alerts against socket-based connection objects.

Data Type and Default Value

  • integer: 10000
Since
  • Qorus 3.0.0 introduced this option
  • Qorus 3.1.0 changed the default value from 5000 (5 seconds) to 10000 (10 seconds)
Note
This option takes effect only for new connections created after the value is changed.

qorus.sql-default-blocksize

Size of the regular Session Recovery and workflow Startup and Execution SQL batches

Data Type and Default Value

  • integer: 5000
Since
Qorus 2.9.1.p1

qorus.sql-init-blocksize

Size of the first workflow Startup and Execution SQL batch for instant workflow instance processing as soon as possible. This batch goes before any other qorus.sql-default-blocksize

Note
It's logical to have sql-init-blocksize value smaller than qorus.sql-default-blocksize. But there is no technical limitation of the values used in this option.

Data Type and Default Value

  • integer: 200
Since
Qorus 2.9.1.p1

qorus.stack-size

The maximum stack size for new threads in bytes; must be greater than or equal to 524288, which is the minimum stack size.

Data Type and Default Value

  • integer: n/a

Note that the default stack size for Qorus is 8MB; since stack memory is allocated from overcommitted memory and starts small and is allocated real memory only on demand, large stack sizes do not have a affect on the process memory size as long as the program does not use the extra stack space. For programs that require more than 8MB of stack, you can set higher stack sizes by setting the appropriate value of the qorus.stack-size option on each interface directly while also setting the remote flag to True on the interface, ensuring that it will be run in a dedicated process. That way the higher stack size will be enforced only for the program that needs it.

Note
  • For processes running in qorus-core (i.e. where the remote flag is False), any locally-set stack-size option value is ignored; in qorus-core, only the global stack-size option is used.
  • This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
    qorus stack-size=1048576 
    In order to effect a change in the value of this option, it is necessary to restart the server.
See also
Since
Qorus 5.0

qorus.svc-logfile-template

Gives the default logfile template for new service log appenders when created from the system UI.

Data Type and Default Value

  • string: "OMQ-$instance-SVC-$name.log"
Since
Qorus 1.8.0

qorus.sync-delay

This option gives the amount of time in seconds that workflow synchronization event keys will be cached before being purged from the cache

Data Type and Default Value

  • int: 3600 (3600 seconds = 1 hour)
Since
Qorus 3.1.0

qorus.system-pool-maximum

Sets the maximum number of connections in the system DatasourcePool. The system datasource pool (with special datasource name "omq") is used internally to communicate with the system schema. Larger installations may consider increasing the number when monitoring the system schema reveals that all of the system connections are active at the same time, meaning that no more connections are available and some threads are waiting on a connection to become free.

Data Type and Default Value

  • int: 40
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus system-pool-maximum=60 
In order to effect a change in the value of this option, it is necessary to restart the server.

qorus.system-pool-minimum

Sets the minimum number of connections in the system DatasourcePool. This number of database connection will be opened automatically when the system is started.

Normally it's not necessary to change this option as database connections are opened automatically when needed.

Data Type and Default Value

  • int: 5
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus system-pool-minimum=2 
In order to effect a change in the value of this option, it is necessary to restart the server.

qorus.systemdb

Sets the database connection string for the system DatasourcePool. This database connection will be opened automatically when the system is started.

The connection string must identify a connection to an existing DB schema in a supported database server with the permissions / grants required to run Qorus.

Example value for PostgreSQL: qorus.systemdb: pgsql:user/pass@dbnamehostname:5432 Example value for Oracle: qorus.systemdb: oracle:user/pass@dbnamehostname:1521 Example value for MariaDB/MySQL: qorus.systemdb: mysql:user/pass@dbnamehostname:3306

See also
Database Configuration Overview for more information

It is mandatory to set this option to run Qorus.

Data Type and Default Value

  • string: no default value
Note
This option is read-only after system startup; it can only be set in the System Options File. In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 4.0

qorus.transient-alert-max

Maximum number of transient alert to cache.

Data Type and Default Value

  • int: 1000
Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus transient-alert-max=2000 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 3.0.0

qorus.verbose

This value is only used to migrate an indication of the log level to new logger configurations.

Use the REST API for a particular logger to change how information is logged.

Deprecated:
since Qorus 4.0

qorus.vmap-size-threshold

The maximum size of a value map (in number of entries) for it to be cached entirely on its first reference. If the value map exceeds ths given size, its mappings are cached on demand as they are used.

Data Type and Default Value

  • int: 100
See also
value-maps
Since
Qorus 3.1.0

qorus.use-functional-indices

Use functional indices on Oracle and PostgreSQL for workflow overview queries; data can only be returned with a resolution of one day when this option is enabled

Data Type and Default Value

  • bool: False
Since
Qorus 6.0.16

qorus.warning-process-memory-percent

Sets the maximum private (heap + stack etc) memory as a percentage of RAM on the node for a process before a "PROCESS-MEMORY-USAGE" ongoing alert is raised about excessive memory usage for the process. This value must be smaller than qorus.max-process-memory-percent

Data Type and Default Value

  • int: 50
See also
qorus.max-process-memory-percent qorus.max-process-memory-percent
Note
This option is read-only after system startup; it can only be set in the System Options File.
Since
  • Qorus 4.0: first implementation
  • Qorus 4.1.4.p3: default value changed to 50

qorus.wf-logfile-template

Gives the default logfile template for new workflow log appenders when created from the system UI.

Data Type and Default Value

  • string: "OMQ-$instance-WF-$name.log"
Since
Qorus 1.8.0

qorus.workflow-modules

This option provides a list of user modules defining APIs for Qorus workflow; see Workflow Modules for more information.

Data Type and Default Value

Note
This option is read-only after system startup; it can only be set in the System Options File or on the command-line; for example:
qorus workflow-modules=my-module 
In order to effect a change in the value of this option, it is necessary to restart the server.
Since
Qorus 4.0

qorus.workflow-params

This option is ignored since Qorus 4.0.

Data Type and Default Value

  • hash (empty hash)
Since
Introduced in Qorus 2.0.2, made non-functional and deprecated in Qorus 4.0
Deprecated:
This option will be removed in a future version of Qorus.

qorus.workflow-perf-events

Enables WORKFLOW_PERFORMANCE event emission for all workflows.

Data Type and Default Value

Since
Qorus 4.0

qorus.workflow-step-perf-events

Enables WORKFLOW_STEP_PERFORMANCE event emission for all workflow steps; note that enabling this option can cause workflow step performance degredation.

Data Type and Default Value

Since
Qorus 3.0.3

qorus-client.applications

The list of user applications present in this instance of Qorus for verification with oload

Example

qorus-client.applications: BssCrm 

Data Type and Default Value

  • list of strings: no default value
Since
Qorus 2.8.0.p7

qorus-client.allow-test-execution

Allows execution of QorusInterfaceTest

Example

qorus-client.allow-test-execution: true 

Data Type and Default Value

Since
Qorus 4.0.1

qorus-client.client-pool-maximum

The maximum number of connections in connection pools when created from the client, for example when created from a call to QorusClientAPI::getDatasourcePool().

Example

qorus-client.client-pool-maximum: 3 

Data Type and Default Value

  • int: 10

qorus-client.client-pool-minimum

The minimum number of connections in connection pools when created from the client, for example when created from a call to QorusClientAPI::getDatasourcePool().

Example

qorus-client.client-pool-minimum: 1 

Data Type and Default Value

  • int: 3

qorus-client.client-url

The URL used to communicate with Qorus from client programs. In most cases it is not necessary to set this option explicitly, as it will be set automatically based on the qorus.http-secure-server and qorus.http-server options.

Example

qorus-client.client-url: https://[::1]:8009 

Data Type and Default Value

Note
  • If this option is not set explicitly in the System Options File, then the value will be detected and set automatically
  • It is not recommended to set a username and password in this URL for local use, as local client programs will automatically acquire an internal token using a ZeroMQ call to qorus-core so that they will run with internal system privileges in any case.

qorus-client.data-tablespace

The data tablespace name for the datasource in the wildcard portion of the option name. The actual option name must be prefixed by the datasource name followed by a hyphen as in the following example:

qorus-client.omq-data-tablespace: omq_data 

Data Type and Default Value

  • string: no default value
See also
index-tablespace

qorus-client.index-tablespace

The index tablespace name for the datasource given as a prefix of the option name. The actual option name must be prefixed by the datasource name followed by a hyphen as in the following example:

qorus-client.omq-index-tablespace: omq_index 

Data Type and Default Value

  • string: no default value
See also
data-tablespace

qorus-client.missing-tag-warning

Show missing tag warnings when loading interfaces with oload.

Example

qorus-client.missing-tag-warning: false 

Data Type and Default Value


qorus-client.override-job-params

Always override job schedule and runtime parameters when loading jobs with oload, even if they have been changed with the API.

Example

qorus-client.override-job-params: true 

Data Type and Default Value


qorus-client.proxy-url

The URL of the HTTP proxy for the Qorus server, optionally including any proxy authentication

Example

qorus-client.proxy-url: https://my-user:my-pass@my-proxy.local:12413 

Data Type and Default Value

  • string: no default value

qorus-client.remote

The default value of the "remote" option for oload for interfaces that do not specify this option. Set this value to false to ensure that oload will not enable the remote flag when loading interfaces with no remote option (for example, when working with older interfaces after a Qorus upgrade).

Example

qorus-client.remote: false 

Data Type and Default Value

Since
Qorus 4.0

qorus-client.warn-deprecated-api

If True, oload will warn when loading interface code using deprecated APIs.

Example

qorus-client.warn-deprecated-api: false 

Data Type and Default Value

Since
Qorus 3.0.2