murex Shell Docs

User Guide: Schedulers

Overview of the different schedulers (or 'run modes') in murex

There are a few distinct schedulers (or run modes) in murex which are invoked by builtin commands. This means you can alter the way commands are executed dynamically within murex shell scripts.

Normal

This is a traditional shell where anything in a pipeline (eg cmd1 -> cmd2 -> cmd3) is executed in parallel. The scheduler only pauses launching new commands when the last command in any pipeline is still executing. A pipeline could be multiple commands (like above) or a single command (eg top).

Try

This is similar to normal where commands in a pipeline are run in parallel except murex validates the STDERR and exit status of the last command in any pipeline.

If STDERR is greater than STDOUT (per bytes written) OR the exit status is non-zero then the scheduler exits that entire block.

Try Pipe

This runs the commands sequentially because the STDERR and the exit status of each command is checked irrespective of whether that command is at the start of the pipeline (eg start -> middle -> end), or anywhere else.

Like with try, if STDERR is greater than STDOUT (per bytes written) OR the exit status is non-zero then the scheduler exits that entire block. Unlike with try, this check happens on every command rather than the last command in the pipeline.

See Also

This site's content is rebuilt automatically from murex's source code after each merge to the master branch. Downloadable murex binaries are also built with the website.

Last built on Fri Sep 10 15:05:25 UTC 2021 against commit 437c274437c274fded54d82e99d70ea7d2917f332c095dd.

Current version is 2.2.1200 BETA which has been verified against tests.