How do I create a job?

You can create a job to execute a particular Docker image on demand, for example an image containing a Python script to upsert transactions into LUSID from a CSV file. 

You can optionally then create a schedule to automatically trigger the job at chosen times.

To start the process of creating a new job:

  1. Sign into the LUSID web app and select Jobs & Scheduling > Jobs from the left-hand menu:
     

  2. On the Jobs dashboard, click the Create job button (top right).

  3. Specify a Scope and Code that together uniquely identify the job in your LUSID domain.
     

  4. If not already done, follow these instructions to upload your Docker image to the FINBOURNE AWS store. Upon returning to this screen, you should be able to select your image from the Image name and Version dropdowns:
     

  5. On the Arguments screen, you can (optionally) define command line arguments to pass in to your job at runtime. In our example, we’ll add two arguments, passing in for each argument:

    • Name, prefixed with --.

    • A Data type from the dropdown provided and a Description.

    • Whether or not the argument is Mandatory. In our example, both should be mandatory, since transactions must upsert to a transaction portfolio.

    • A Default value (which can be overridden by a user at runtime).
       

  6. On the Arguments screen, you can (optionally) define environment variables to pass in to your job at runtime. In our example, since we're exercising the LUSID API via the LUSID Python SDK, we'll use this facility to pass in credentials, so the SDK can obtain an API access token. We need to define the following environment variables:

    Variable name

    Source of the value

    Data type

    Example value

    FBN_PASSWORD

    Configuration Store

    Configuration

    config://personal/00u91lo2eeX42sdse2p7/lusid-sdks/python-sdk/account-password

    FBN_USERNAME

    LUSID account username

    String

    johndoe

    FBN_CLIENT_SECRET

    Configuration Store

    Configuration

    config://personal/00u91lo2eeX42sdse2p7/lusid-sdks/python-sdk/client-secret

    FBN_CLIENT_ID

    Client ID of the application

    String

    example-sdk-app

    FBN_LUSID_API_URL

    LUSID domain URL

    String

    https://acmecorp.lusid.com/api

    FBN_TOKEN_URL

    Dedicated Okta token URL for LUSID domain

    String

    https://lusid-acmecorp.okta.com/oauth2/aus91lnun55CZjjav2p7/v1/token

    Account passwords and client secrets must be pulled in from the Configuration Store. See how to upload these credentials to the Configuration Store. Upon returning to this screen, select Configuration from the Data type dropdown and click in the Default value key area to be guided to select the appropriate configuration set and item (the config://... syntax is automatically generated). 
     

  7. For now, the Resources tab can be safely skipped. Click Save to finish creating the job.

Once the job is created, you can trigger the job on demand by selecting Run now. See how to monitor job runs and troubleshoot any failures.

You can also create a schedule which triggers the job to run on a particular schedule with particular arguments. See how to do this.