Zowe CLI — A Faster Experience

Dan Kelosky
Zowe
Published in
3 min readDec 29, 2020

{Core} For the next major version of Zowe CLI — we plan to add the ability to run it in daemon mode for faster response time.

Please see the latest updates to daemon mode

Definition

First, daemon is a:

(noun)

program that runs continuously and exists for the purpose of handling periodic service requests that a computer system expects to receive.

Also, it’s pronounced this way:

Not “day-muhn”

Why

Sometimes Zowe CLI commands are slow depending on operating system, system configuration, and other running software (like antivirus). On my system, zowe -h can take nearly 3 seconds to run:

Non-daemon mode

Running Zowe CLI in daemon mode (indicated by zowex command), the same command completes in under a second:

Daemon mode

Other zowe ... --help commands, like zowex jobs --help are even faster in daemon mode, ~0.10 seconds.

How

With the @next version of Zowe CLI, it can run as a background process. Then, a native-built Zowe CLI client, zowex, communicates with the background Zowe CLI process.

Since the client is native for the machine it’s running on (versus running in a VM), it executes very quickly.

Try it Out!

To try this for yourself:

  1. install the next version of Zowe CLI, npm install -g @zowe/cli@next
  2. verify the installed version via zowe -V, it should be 7.0.0+
  3. obtain the native client, unzip, and add to your PATH
Add `zowex.exe` to your Path variable, my Path was truncated, but the `exe` resided under `C:\dev\node\zowe-cli\zowex\target\…`

Start the Daemon

To run Zowe CLI in the background, run zowe --daemon in the background. E.g:

  • Windows → start zowe --daemon
  • Linux → zowe --daemon &

Then communicate with the daemon using zowex:

start the daemon and then run `zowex` commands instead of `zowe`

Known Issues

Please open issues for any defects that you may find.

Summary

The implementation, setup, and even the top level command name for Zowe CLI daemon mode are all subject to change based on validation feedback. In the meantime, please consider trying out daemon mode and comment here for questions or open issues in our repo.

--

--

Dan Kelosky
Zowe
Writer for

Likes programming/automation in mainframe (assembler, C/C++), distributed (Node.js), and web development (Firebase, Angular).