EVL

Table of Contents


Products, services and company names referenced in this document may be either trademarks or registered trademarks of their respective owners.

Copyright © 2017–2020 EVL Tool, s.r.o.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.

Wait

With no arguments it will wait to successfully finish all previous parts of an EVL job (in an EVS file) or in an EVL workflow (in an EWS file), i.e. act similar to standard Bash ‘wait’ command.

Fail (and cancel further job/workflow processing) if at least one component failed. Continue processing EVS/EWS file if all previous components/parts successfully finished.

EVS is EVL job definition file, for details see evl-evs(5). EWS is EVL workflow definition file, for details see evl-ews(5).

EVL workflow only:

When no <job>, <workflow> or <script> is specified, further processing will wait <time> for all previously fired parts (i.e. ‘Run’ commands) and fail if at least one of them fails.

When no <time> is specified, then wait forever.

<time> can be secified in seconds, minutes, hours or days, so suffix ‘s’, ‘m’, ‘h’ or ‘d’ need to be specified to the number. If no unit is specified, seconds are assumed.

When <job>, <workflow> or <script> is specified, it will wait for successful run of the job of the current project and of the current <odate>. Different <project> and/or <odate> can be specified by the options.

Synopsis

Wait
  ( <job>.evl | <workflow>.ewf | <script>.sh )
  [-p|--project=<project>] [-o|--odate=<odate> | -y|--yesterday]
  [-t|--time=<time>]

Wait
  [-m|--myself [-o|--odate=<odate> | -y|--yesterday]]
  [-t|--time=<time>]

evl wait
  ( --help | --usage | --version )

Options

Standard options:

--help

print this help and exit

--usage

print short usage information and exit

--version

print version and exit

Examples

EVL job

  1. Run EVL job in two steps:
    Read  file.json INPUT   evd/file.evd --text-input
    Map   INPUT     MAPPED  evd/file.evd evd/stage.evd evm/file.evm
    Write MAPPED    stage.parquet        evd/stage.evd
    Wait
    Run   "impala \"refresh table stage;\""
    End
    

EVL workflow

  1. Wait for myself (i.e. the same workflow yesterday) to finish:
    Wait --myself
    

    or the inother words:

    Wait --myself --yesterday
    

    or shortly also:

    Wait -my
    
  2. Wait for all jobs to finish, but at most 1 hour, then fail:
    Run file2stage.bills.evl update.bills.evl
    Run file2stage.invoices.evl
    Wait 1h
    
  3. Wait (forever) for successful run of the job ‘file2stage_example.evl’, then continue:
    Wait file2stage.example.evl
    
  4. Wait (at most 1 day) for the job ‘export_job.evl’ before continue:
    Wait 1d export_job.evl
    
  5. Wait (at most 120 minutes) for the job ‘sftp_billing.evl’ of the different project ‘billing’ (of current ODATE):
    Wait 120m sftp_billing.evl billing
    
  6. Wait (at most 300 seconds) for the job ‘sftp_billing.evl’ of the different project ‘billing’ of the 20200515}:
    Wait 300 sftp_billing.evl billing 20200515
    
  7. Wait (at most 6 hours) for previous run of current ‘EWF’ job. (Variable ‘ODATE_MINUS1’ has to be set by you.):
    # Wait for previous ODATE 
    Wait 6h $EWF_JOB_NAME.ewf $ODATE_MINUS1