The punchlinectl command lets you start an individual punchline. I.e. not going through a channelctl command.
Note that punchlinectl is typically used in two different contexts :
- 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.
- 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. It very useful on development platform or on 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 --tenant mytenant start --punchline mypunchline.hjson
Run a spark punchline:
punchlinectl mypunchline.hjson --runtime spark
Run a punchline with custom Xmx Xms options :
punchlinectl -t mytenant --childopts "-Xmx2g -Xms1g" start -p mypunchline.yaml
Get the help menu:
punchlinectl uses the library located :
The logging verbosity of punchlinectl is controlled by the following two files:
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