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.
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
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.
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.
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.
->) Token: Pipes STDOUT from the left hand command to STDIN of the right hand command
=>) Token: Pipes a reformatted STDOUT stream from the left hand command to STDIN of the right hand command
|) Token: Pipes STDOUT from the left hand command to STDIN of the right hand command
?) Token: Pipes STDERR from the left hand command to STDIN of the right hand command
try: Handles errors inside a block of code
trypipe: Checks state of each function in a pipeline and exits block on error
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 Thu Oct 13 08:08:18 UTC 2022 against commit ed6b6fced6b6fc609f4be93c5d3348695a762facfecf48f.
Current version is 2.11.2200 which has been verified against 16798 tests cases.