Skip to content



punchlinectl : start a punchline


punchlinectl start  --punchline my_punchline.punchline


The punchlinectl command lets you start an individual punchline. I.e. not going through a channelctl command.

Note that punchlinectl is typicallu used in two different contexts. First the punch shiva application scheduler uses that command to launch punchline applications. This happens if you define a punchline as part of a punch channel and make it run in a shiva cluster.

Second, you can use it from a punch operator terminal to submit a punchline for execution directly. This mode is not a production-typical mode but can be useful to investigate issues on a production platform, and is of course very useful on development platform and?or the punch standalone.

The punchlinectl command if fully documented inline and provides rich auto-completion facilities. This page contains only the very basic usage.


Run a punchline with the default storm execution engine:

punchlinectl mypunchline.hjson

Run a spark punchline:

punchlinectl mypunchline.hjson --runtime spark

Get the help menu:

punchlinectl --help


punchlinectl uses the library located :

  • $PUNCHPLATFORM_INSTALL_DIR/lib/punchplatform-command-cli*with-dependencies.jar


The logging verbosity of punchlinectl is controlled by the following two files:

  • $PUNCHPLATFORM_LOG4J_CONF_DIR/log4j2-stdout.xml

In the context of shiva execution, i.e. if punchlinectl is launched through shiva on some shiva worker server, the PUNCHPLATFORM_LOG4J_CONF_DIR points on a different log4j directory

Note that these loggers use the stdout appenders. This is on purpose because punchlinectl is designed to run with a stdout/stderr strategy. Its logs are either prompted to the user terminal, or are handled automatically by shiva, again through the stdout/stderr unix pipes.


punchlinectl is executed in three different environment : in the context of the operator terminal environment when launched manually, in the context of the shiva application scheduler when upcalled from a channel command or in the context of gateway application


channelctl environment