Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
titleUsage
Usage: cancel-orders.sh [Options] [Switches]

  Options:
    --url=<url>                   | required: JOC Cockpit URL
    --controller-id=<identifier>  | required: Controller ID
    --user=<account>              | required: JOC Cockpit user account
    --password=<password>         | optional: JOC Cockpit password
    --ca-cert=<path>              | optional: path to CA Certificate used for JOC Cockpit login
    --client-cert=<path>          | optional: path to Client Certificate used for login
    --client-key=<path>           | optional: path to Client Key used for login
    --date-to=<date>              | optional: orders scheduled before the given date will be cancelled, default: now
    --time-zone=<tz>              | optional: specifies the time zone for the given date, default: Europe/London
                                              see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
    --states=<state[,state]>      | optional: list of states limiting orders that will be cancelled, default: SCHEDULED
                                              PLANNED, PENDING, SCHEDULED, INPROGRESS, RUNNING, SUSPENDED, WAITING, PROMPTING, FAILED, BLOCKED, UNKNOWN
    --folders=<path[,path]>       | optional: list of folders holding workflows for which scheduled orders will be cancelled
    --workflows=<path[,path]>     | optional: list of workflows for which scheduled orders will be cancelled
    --log-dir=<directory>         | optional: path to the directory holding the script's batch log files

  Switches:
    -h | --help                   | displays usage
    -v | --verbose                | displays verbose output
    -p | --password               | asks for password
    -r | --recursive              | specifies folders to be looked up recursively
    -k | --kill                   | specifies that tasks of running orders will be killed
    -t | --sigterm                | specifies that tasks of running orders will be sent a SIGTERM signal before SIGKILL
    --show-logs                   | shows log output if --log-dir is used
    --make-dirs                   | creates directories if they do not exist

...

  • --url
  • --controller-id
    • Specifies the identification of the Controller that holds related orders.
  • --user
    • Specifies the user account for login to JOC Cockpit. If JS7 - Identity Services are available for Client authentication certificates that are specified with the --client-cert and --client-key options then their common name (CN) attribute has to match the user account.
    • If a user account is specified then a password can be specified using the --password option or interactive keyboard input can be prompted using the -p switch.
  • --password
    • Specifies the password used for the account specified with the --user option to login to JOC Cockpit.
    • Consider use of the -p switch offering a secure option for interactive keyboard input.
  • --cacert
    • Specifies the path to a .pem file that holds the Root CA Certificate and optionally Intermediate CA Certificates to verify HTTPS connections to JOC Cockpit.
  • --client-cert
    • Specifies the path to a .pem file that holds the Client Certificate if HTTPS mutual authentication is used..
  • --client-key
    • Specifies the path to a .pem file that holds the Client Privae Key if HTTPS mutual authentication is used..
  • --date-to
    • Specifies the date and time in ISO format to which orders have been scheduled. The default value now indicates the current point in time.
      • An absolute date, for example 2023-10-23T14:00:00 will affect all orders scheduled for execution before that date. 
      • A relative date, for example  --date-to=-1d (1 day back), --date-to=-2h (2 hours back), --date-to=-30m (30 minutes back).
    • Dates and times can be calculated from the date command.
      • --date-to="$(TZ=Europe/London date +'%Y-%m-%d')T00:00:00" specifies orders scheduled for a date before the current day in the Europe/London time zone.
      • --date-to="$(TZ=Europe/London date --date="1 day ago" +'%Y-%m-%d')T00:00:00" specifies orders scheduled for execution before yesterday.
  • --time-zone
  • --states
    • Specifies one or more states - separated by comma - for which orders should be cancelled. By default the SCHEDULED state is used.
    • Valid states are PLANNED, PENDING, SCHEDULED, INPROGRESS, RUNNING, SUSPENDED, WAITING, PROMPTING, FAILED, BLOCKED, UNKNOWN.
    • For example --states=SCHEDULED,SUSPENDED,FAILED will cancel orders holding any of the given states.
  • --folders
    • Specifies one or more JOC Cockpit inventory folders from absolute paths - separated by comma - holding workflows for which orders have been scheduled.
    • For example --folders=/ProductDemo/CyclicExecution,/ProductDemo/ScheduledExecution will cancel orders scheduled for workflows in the given folders.
    • If the --recursive switch is used then sub-folders will be looked up recursively.
  • --workflows
    • Specifies one or more workflows - separated by comma - for which orders have been scheduled.
    • For example --workflows=/ProductDemo/CyclicExecution/Cyclic-Check,/ProductDemo/ScheduledExecution/Daily-EOD will consider orders scheduled for the Cyclic-Check and Daily-EOD workflows from the given folders.
  • --log-dir
    • If a log directory is specified then the script will log information about processing steps to a log file in this directory.
    • File names are created according to the pattern: set_job_resource.<yyyy>-<MM>-<dd>T<hh>-<mm>-<ss>.log
    • For example: set_job_resource.2022-03-19T20-50-45.log

...

Code Block
titleExample for Cancelling Orders
linenumberstrue
./cancel-orders.sh \
    --url=https://joc-2-0-primary:74467443 \
    --cacert=/home/sos/jstest/certs/root-ca.pem \
    --user=root \
    -p \
    --controller-id=controller \ 
    --date-to="$(TZ=Europe/London date --date="1 day ago" +'%Y-%m-%d')T00:00:00" \
    --time-zone=Europe/London \
    --states=FAILED,SUSPENDED
 
# cancels all orders scheduled for a date before yesterday
# establishes the connection to JOC Cockpit by HTTPS and the Root CA Certificate is specified from the path to a .pem file
# asks the user for interactive keyboard input of the password used for the account specified
# specifies the date from an individual time zone
# limits cancellation to orders in the FAILED or SUSPENDED state

...