Pentaho

 View Only
  • 1.  Run pentaho Job/Trans in BI server with crontab (NOT kitchen or pan)

    Posted 11-23-2021 12:03
    Hi all,

    I am trying to find a way to run a job or a transformation into the BI server (the repository is into the bi server).
    I would not use kitchen or pan because it's a separate process and another usage of physical resource.

    I cannot use pentaho bi schedule because it is not aligned with system time (because of solar/legal time I guess) and I saw that it has several bugs.

    A way to do it is to run a job with pan only as a "launcher" and set a sub-job with "run configuration" pointing to pentaho web server, but it seems not work. It works if I run it manually from spoon instead :-(

    Can someone help me please?

    Thank you!

    ------------------------------
    Alessandro Corradi
    IT Support Manager
    No company
    ------------------------------


  • 2.  RE: Run pentaho Job/Trans in BI server with crontab (NOT kitchen or pan)
    Best Answer

    Posted 11-24-2021 11:18

    Hi Alessandro.
    You can use curl with a REST call to executeTrans  eg

    curl --request POST \
    --url 'https://{server}/pentaho/kettle/executeTrans/?P_SUBMIT=%7B%22fin_year%22%3A%222021%22%2C%22business%22%3A%22102676%22%2C%22biz_ref%22%3A%221980145%22%2C%22product_code%22%3A%2230226%22%2C%22rec_date%22%3A%222021-05-04%22%2C%22discount_percent%22%3A17.7%2C%22supplier_percent%22%3A3.9%2C%22vendor%22%3A%22AcmeProd%22%2C%22SITE%22%3Anull%2C%22TRAN_NO%22%3Anull%2C%22TRAN_GROUP%22%3Anull%7D&rep=singleDirepo&trans=%252Fpublic%252Fops%252FETL%252Fbusiness_logic%252Frun_model%252Fmodel_etl' \
    --header 'Authorization: Basic {Auth string}' \
    --header 'Content-Type: application/json' \

    where the string after the ? to the first ampersand is passed to the ETL parameter P_SUBMIT, the next bit is the name of your repository and the 'trans' bit is the path to your ETL.

    With the URL decoded it looks like this

    curl --request POST \
    --url 'https://{server}/pentaho/kettle/executeTrans/?P_SUBMIT={"fin_year":"2021","business":"102676","biz_ref":"1980145","product_code":"30226","rec_date":"2021-05-04","discount_percent":17.7,"supplier_percent":3.9,"vendor":"AcmeProd","SITE":null,"TRAN_NO":null,"TRAN_GROUP":null}&rep=singleDirepo&trans=%2Fpublic%2Fops%2FETL%2Fbusiness_logic%2Frun_model%2Fmodel_etl' \
    --header 'Authorization: Basic {Auth string}' \
    --header 'Content-Type: application/json' \

    Regards

    Andrew Cave




    ------------------------------
    Andrew Cave
    Systems Engineer
    BizCubed Pty Ltd
    Australia
    ------------------------------



  • 3.  RE: Run pentaho Job/Trans in BI server with crontab (NOT kitchen or pan)

    Posted 11-29-2021 08:18
    Thank you Andrew, this do the trick!

    Then only modification I adopt is to remove Auth header parameter and put --user user:password parameter.

    Br.

    Alessandro

    ------------------------------
    Alessandro Corradi
    IT Support Manager
    No company
    ------------------------------