Skip to content

PLANCTL

NAME

1
planctl : start or stop you plans

SYNOPSIS

1
 planctl start --plan myplan.hjson --template punchline.template

DESCRIPTION

The planctl command is used internally by the shiva application scheduler to start or stop plans. Plans are applications that are scheduled periodically, refer to the punch reference guide for details.

planctl is also available as a command line tool so as to let you run a plan in foreground from a terminal . This is mainly useful on a standalone for developping your plans. It is alse available from the punch operator terminals on production platforms.

This command works in two ways. To start an interactive shell, simply launch

planctl --tenant <tenant_name>

Where <tenant_name> is a tenant name. From there, follow the documented commands. Use the TAB character to get auto-completion.

Alternatively you can execute commands in non interactive mode using the following syntax:

planctl start --plan myplan.hjson --template punchline.template

Plans are resilient and internally save so-called cursors. Cursors keep track of the progress of the executed application. Should a server crash, the plan will resume from another one, and the application will be scheduled again from the last saved cursor. Think of a cursor much the same way as a kafka offset. Instead of keep track of an offset in a queue, plans keep track of the last time of a succesful application execution.

OPTIONS

  • start

    • Restart a plan.
  • reset_cursor

    • Use an inline punchlet code, Start channels and jobs.
  • list_cursor

    • Stop channels or jobs.

EXAMPLES

Here are some self explanatory examples. To list the current cursors:

planctl list-cursor --plan-id my_plan \
                   --es_cluster es_search \
                   --index-name-pattern platform-plan-cursor

To manually reset a cursor:

planctl reset-cursor --plan-id my_plan \
                   --es_cluster es_search \
                   --index-name-pattern platform-plan-cursor \
                   --restart-date XXXX-YY-ZZT16:28:14.702Z

LIBRARIES

planctl uses the library located :

  • $PUNCHPLATFORM_INSTALL_DIR/lib/punch-command-app-*with-dependencies.jar

LOGGERS

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

  • $PUNCHPLATFORM_LOG4J_CONF_DIR/log4j2-punchline.xml
  • $PUNCHPLATFORM_LOG4J_CONF_DIR/log4j2.properties

ENVIRONMENT

planctl is only executed in the context of the operator terminal environment.

SEE ALSO

punchlinectl channeltcl environment