Skip to main content

What is Nomaflow

Nomaflow is the job scheduler built into Liberty Next. It runs inside the server — no separate worker, no message broker — and uses the same connectors as the screens and dashboards. A job is a list of steps run in order, on a schedule or on demand; every run is recorded with its steps and its log.


At a glance​

Nomaflow — inside the Liberty Next server1 · Jobsjobs.toml · Jobs page2 · Triggerscron · presets · Run now3 · StepsSQL · file · Python · HTTP · LDAP4 · Runsstates · steps · log5 · Notificationsbell · e-mail · actionConnectors and poolsthe same named queries as the screensMissed and failed runsrecorded, and sent to the people concerned

What it is used for​

NeedWith Nomaflow
Copy a table every night from a production database to a reporting databaseA sql_copy step, scheduled at 02:00. See Scheduled sync.
Load monthly spreadsheets into a facts table, replaying a wrong monthA file_load step in replace_partition mode, a refuse query for closed periods. See Steps.
Pick up files dropped in a shared folderfile_load with a watched folder: each file is loaded, then moved to done/ or failed/.
Pull data from a REST APIA python step that calls the API and writes through a connector's query. See API pull.
Mirror Active Directory users into a tableAn ldap_sync step.
Purge old rows past a thresholdA python step that counts and deletes. See Conditional cleanup.
Run a one-off after a releaseA job without a schedule, run with Run now.
Be told when a job fails or did not runA notification rule on failure and missed. See Notifications.

How it fits in Liberty Next​

Liberty Next pieceUsed by Nomaflow for
Connectors and poolsReaching the databases and APIs, through the same named queries and endpoints as the screens.
jobs.tomlThe jobs, their presets and the policies — edited from the Jobs pages, carried by packages and by the licensed apps.
The framework databaseThe run history.
Encrypted secretsPool passwords; other secrets written as ${VARIABLE} in jobs.toml.
NotificationsTelling people about failed, missed or long runs.
Superuser accessThe Jobs pages and their API are reserved to superusers.

What it does not do​

  • No graph of tasks. Steps run one after the other; a job can call another job (call_job) and wait for it, but nothing runs in parallel inside a job.
  • One server. The scheduler runs in the server process: run a single instance.
  • No automatic catch-up. A time missed while the server was down is recorded as MISSED and can be notified; running it again is a manual decision.
  • No replay button. To run again with the same values, save them as a preset or pick them again in Run with parameters.

Read next​

PageTo…
Getting startedBuild a first scheduled job.
ConceptsUnderstand jobs, steps, schedules, triggers, runs and parameters.
Jobs page · Create a job · SchedulesWork with jobs.
StepsKnow every step type.
Run history · TroubleshootRead and fix runs.
Custom Python stepsWrite your own step.
AdministrationSettings, retention, restart.