Skip to content

Configuration Reference

Every customer-facing Flow Scheduler and high-availability setting, with where it is set, its default, what it does and whether a restart is needed.

How to read this page

Flow Scheduler settings are changed in MetaMiner Administrator (MMA) under Tools > FSS Configuration... > Properties. The tables show keys without their prefix; in files they are written as flowscheduler.<key>, for example flowscheduler.max.concurrent.per.env=5.

Item Rule
Restart Restart the Flow Scheduler (MetaMinerFSS service) after changing any setting on this page, unless the table says No restart or MMS restart. Do this even when MMA does not show "(restart required)".
Scope Shared In high availability, change it once, on the preferred node. The other nodes take the value and apply it at their next Flow Scheduler restart. MMA refuses the change on any other node.
Scope Per node Set it on each node. It is never copied to other nodes.
Precedence A value given as a -D Java option or in MetaMinerServer.properties overrides the value saved in MMA and stays fixed until the next restart. Keep Flow Scheduler settings in MMA.

On a single node (no high availability) the scope column does not matter: every setting is set on that node.

The Properties tab also lists internal tuning keys that this page does not describe. Leave them at their defaults.

Service

Key Default Where set Effect
enabled off MMA Preferences > Settings > General, group Flow Scheduler, Enable Flow Scheduler (FSS) (stored in server\MetaMinerServer.properties) Turns the Flow Scheduler on with the next MetaMiner start. Clearing the box stops a running Flow Scheduler at once. Set on each node.
port 49716 Service configuration Port the Flow Scheduler listens on. Do not change it without Infolytik Support.
bind.address 127.0.0.1 Per node Address the Flow Scheduler listens on. Keep the default; only MMS on the same host needs to reach it.
scheduler.enabled true Shared false stops all scheduled and catch-up firing; the web interface and API keep working.
notifications.enabled false Shared Master switch for task notification e-mail.
subscriptions.enabled true Shared Master switch for flow subscriptions.
runcommand.enabled true Shared Queues Run Now requests in the database so any node can accept them.

Scheduler

All Shared.

Key Default Effect
max.concurrent.per.env 5 How many runs are submitted to one Tableau environment at the same time. Limits the submission burst, not the number of flows running on Tableau.
schedule.sync.minutes 5 How often the Admin Calendar projection is refreshed.
auto.disable.after.failures 5 Consecutive failed runs after which a task is disabled. 0 = never.
auto.disable.count.partial.output false true counts runs where some output steps failed toward automatic disable.
job.timeout.hours 4 A run still running this long after Tableau started it is marked failed in the Flow Scheduler. Tableau is not stopped. Time in the Tableau queue is not counted.

Startup and recovery

All Shared.

Key Default Effect
startup.catchup.enabled true After a Flow Scheduler start, run missed slots.
startup.catchup.window.minutes 60 Oldest missed slot that startup catch-up still runs (one per task).
mms.retry.window.minutes 60 How long a scheduled run waits for an unreachable MMS before it is recorded as failed to start.
mms.retry.backoff.initial.seconds 30 First wait between MMS retries for a chain step.
mms.retry.backoff.max.seconds 300 Longest wait between MMS retries for a chain step.
tableau.availability.gate.enabled true Hold scheduled runs while Tableau Server is down instead of failing them.
tableau.availability.check.seconds 30 How often a down environment with held runs is checked.
recovery.window.hours 4 A held or missed run is started only if the next scheduled run is more than this far away; otherwise it is skipped.

Run tracking

All Shared.

Key Default Effect
tableau.repo.direct true Read run status from the Tableau repository when the environment has a repository connection configured in MMA.
vizportal.adopt.window.sec.default 600 How long the Flow Scheduler looks for the Tableau job after submitting a flow. Range 120-1800.
vizportal.adopt.window.sec.<envId> not set Same as above for one environment. No restart.
vizportal.status.poll.sec 10 How often each running job is polled.
vizportal.lostvisibility.timeout.sec 1800 After this long without seeing a tracked job, the run is marked LOST_VISIBILITY.
vizportal.lostvisibility.disable_threshold 10 Consecutive LOST_VISIBILITY runs after which a task is disabled. 0 = never. Counted separately from auto.disable.after.failures.

Notifications

Key Default Scope Effect
notifications.delivery.enabled true Shared false pauses sending; queued e-mails wait. Also pauses subscription e-mail.
notifications.dispatch.throttle.window.minutes 5 Shared Repeats of the same event for the same run within this window send one e-mail.
notifications.subject.prefix [FlowScheduler] Shared Text in front of every subject.
notifications.fss.external.url empty Per node Public address of the web interface, used for links in e-mails. Empty = no links. In high availability, use the load balancer address.
notifications.smtp.config.cache.minutes 5 Shared How long the SMTP settings read from MMS are kept.
notifications.smtp.send.deadline.ms 30000 Shared Longest time for one SMTP transaction.
notifications.smtp.connect-timeout.ms 10000 Shared SMTP connect timeout.
notifications.smtp.read-timeout.ms 15000 Shared SMTP read timeout.
notifications.smtp.write-timeout.ms 15000 Shared SMTP write timeout.
notifications.sweeper.interval.seconds 5 Shared How often queued e-mails are sent.
notifications.delivery.pool.size 4 Shared Parallel SMTP senders.
env.failure.notify.throttle.sec 21600 Shared Minimum time between admin alerts about the same environment's Tableau back end (6 hours).

The SMTP server, port, sender and login come from MMA Preferences > Settings > Email. To trust a mail server certificate that Java does not trust, the Java option -Dflowscheduler.notifications.smtp.ssl.trust=<smtp-host> can be added to the Flow Scheduler service; ask Infolytik Support, because the service configuration must not be edited without them.

Subscriptions

All Shared.

Key Default Effect
subscriptions.attachment.enabled true Service-wide switch for data attachments. Each environment also has its own switch.
subscriptions.attachment.max.bytes 26214400 (25 MB) Largest attachment. The smaller of this and the environment's limit applies.
subscriptions.attachment.review.threshold.bytes 5242880 (5 MB) Larger outputs are sent as a link plus a note instead of an attachment.
subscriptions.group.expansion.max 500 Most members one Tableau group expands to.
subscriptions.group.cache.ttl.seconds 300 How long group membership is cached. 0 = no cache.
subscriptions.suspension.history.count 5 Failures listed in a suspension notice.
notifications.mms.output.read-timeout.ms 45000 How long the Flow Scheduler waits for output data before sending without it.

Run Now

All Shared.

Key Default Effect
runcommand.claim.interval.seconds 3 How often queued Run Now requests are picked up.
runcommand.max.attempts 3 Retries of a Run Now request after a temporary failure.
runcommand.retention.days 7 How long finished Run Now requests are kept.

Retention

All Shared.

Key Default Effect
runs.retention.enabled false Turns on the automatic purge of old run history and e-mail records. Off = history is kept indefinitely.
runs.retention.days 180 Finished runs older than this are purged.
runs.retention.batch.size 10000 Rows deleted per batch.
runs.retention.max.backup.age.days 14 A purge runs only while a full backup of the leader node newer than this exists.
notifications.retention.days 180 E-mail records older than this are purged. 0 = keep.

Backup

All Per node: each node backs itself up and its backup settings are never copied to other nodes. See Backup and Restore.

Key Default Effect
backup.enabled false Turns on the scheduled backup of the Flow Scheduler database schema and this node's configuration files.
backup.cron 0 0 22 ? * SAT When the scheduled backup runs (Quartz cron; Saturday 22:00).
backup.dir backups Backup folder. Relative paths are under the server folder; an absolute path or a UNC share is allowed.
backup.db.dump.scope all-nodes all-nodes = every node dumps the database. leader-only = only the leader does; a standby writes a configuration-only backup.
backup.retention 8 Backups kept per node. 0 = unlimited.
backup.timeout.minutes 60 A backup running longer fails.
backup.pgtools.dir empty Folder of the PostgreSQL client tools (pg_dump, pg_restore): the tools root or its bin folder. Needed when the database runs on a PostgreSQL version newer than the shipped tools.
backup.include.keyfile true Include the key needed to restore an encrypted configuration. It is written only when a restrictive folder ACL can be set.
backup.keyfile.allow.unverified.acl false true writes the key even when the folder ACL cannot be verified (for example on some UNC shares).

Calendar and load

All Shared.

Key Default Effect
calendar.window.days 45 How far ahead the Admin Calendar projects firings.
delay.heatmap.lookback.days 90 History used for the wait heatmap.
calendar.queue.delay.fudge.seconds 300 Padding for Tableau queue delay in the Calendar.
loadmon.enabled true Turns on the Admin Load panel.
loadmon.window.default.min 720 Default Load window (12 hours).
loadmon.retention.days 45 Days of load history kept.
loadmon.capacity.display.enabled false true shows backgrounder capacity figures and the capacity override on the Load panel.

Display

All Shared. No restart: e-mails use the new value from the next one sent, the web interface on the next page load.

Key Default Effect
ui.app.title Flow Scheduler Heading of the web interface.
ui.browser.title MetaMiner - Flow Scheduler Browser tab title.
email.app.name MetaMiner Flow Scheduler Product name in e-mails.
ui.column.labels empty Renames column headers: Current=New pairs separated by ;.
ui.theme.tableau true Tableau-style look; false = classic look.

High availability

Set ha.lease.enabled and mms.url.local on each node in MMA. Change every other setting once, on the preferred node. Do not put these keys in MetaMinerServer.properties. Steps: Set Up High Availability.

Key Default Scope Effect
ha.lease.enabled false Set on each node Turns on leader and standby mode. Off = the node does everything (single-node behaviour).
ha.node.id host name Per node This node's name on HA / Nodes and in events. Must be unique per node.
mms.url.local not set (this node's MMS) Per node Address of this node's own MMS.
ha.lease.ttl.seconds 30 Shared How long the lease stays valid without renewal; sets the takeover time after a crash. Range 5-300.
ha.heartbeat.seconds 10 Shared How often the leader renews the lease. Keep it well below the TTL.
ha.status.heartbeat.seconds 10 Shared How often each node reports its status.
ha.leader.mms.failover.enabled true Shared The leader hands over when its own MMS is down.
ha.leader.mms.grace.seconds 30 Shared How long the leader's MMS must be down before it hands over.
ha.preferred.failback.enabled true Shared Move leadership back to the preferred (starred) node. Has no effect until a node is starred.
ha.preferred.stable.seconds 60 Shared How long the preferred node must be healthy before failback.
ha.alert.email.enabled true Shared E-mail on cluster events.
ha.alert.email.to not set Shared Comma-separated alert recipients. Blank = the support recipients in the MMA e-mail settings.
ha.alert.email.events BECAME_LEADER,NODE_OFFLINE,LEADER_MMS_DOWN Shared Events that send an alert. Others: BECAME_STANDBY, HANDOVER_REQUESTED, NODE_ONLINE.
ha.alert.email.throttle.seconds 60 Shared Repeat alerts for the same node and event within this window are suppressed.
config.sync.enabled true Per node Shares settings between nodes once a preferred node is starred. Off = this node neither sends nor takes shared settings.
config.sync.interval.seconds 30 Per node How often this node looks for settings changed on the preferred node.
credsync.enabled true Per node A Tableau credential change made through the credentials API on one node is applied on this node too.
credsync.interval.seconds 5 Shared How often a node looks for credential changes made on another node.
credsync.delivery.ttl.hours 24 Shared How long a credential change waits for a node that is down. A node back within this time applies it; after that, call the API on that node. See Tableau Credentials API.

MetaMiner Server settings

These are read by MMS, not by the Flow Scheduler. Set them in server\MetaMinerServer.properties on each MMS node, then restart MMS (MMS restart).

Key Default Effect
flowscheduler.redirect.root not set true sends / to /flowscheduler/.
flowscheduler.auth.pat.enabled false Offers Personal Access Token sign-in. See Sign-In Options.
flowscheduler.show.all.flows.enabled false Shows the Show all control, which switches between all flows and only the flows you may run.
flowscheduler.output.vds.max.answer.mb 300 Largest predicted export size (MB) for flow output read from Tableau Server versions before 2026.1. See Subscriptions and Output.
mms.credentials.cluster.sync true A Tableau credential change made through the credentials API reaches every node. false = only the node called is changed.
mms.credentials.cluster.wait.seconds 30 How long a credentials API call waits for the other nodes to report.

The REST API authorization mode (mms.api.auth, shown in MMA as Local only or API clients) is set in MMA and is described on Authorization Modes.