Running AppConnect Recipes: Jobs

Jobs

When an active Recipe processes a trigger event and runs the sequence of actions, as defined in the Recipe logic, it creates a job. Each job holds a unique trigger event and executes its Recipe logic based on that data (e.g. running If..Then action based on the availability of the data).

AppConnect provides complete details into the execution flow of a job, i.e. what steps were executed, and the data input and output from every step. AppConnect also supports rerunning of jobs, in cases whereby an error stops a job from full completion.

Jobs report

The jobs report is a record of all processed jobs. For each processed job, you can view complete details i.e. execution flow, data input/output from every step.

Information such as date, time processed and job IDs, can be found here. The following shows the default jobs report page.

Jobs report will only retain data for a limited duration corresponding to your account's data retention policy.

c0e10dae-70a3-404d-87d2-f3aec2179afe.png

 

Custom report

The jobs report can be further customized to show any data available in the Recipe e.g. if processing invoices, your job report can have Invoice ID, Invoice amount, etc.

df582796-dbfe-409b-ba93-92c34f62381d.png

To create a custom jobs report, click on the 'Customize report' tab. You cannot create custom jobs reports when the Recipe not active. If you want to edit an active recipe, select stop Recipe before creating the custom report. Remember to select start Recipe after you are done with the configuration.

You can use datapills from any data tree in your Recipe for the column values.

Job details

The job details page shows the input data and output data of each step in the Recipe, allowing you to inspect the job and debug it if needed.

Each job details page includes:

  • Job Metadata The top part of the page holds the job metadata - job ID, repeat # (the rerun number of this job), the Recipe version that the job was carried out on, the status of this job etc.

  • Job step details The bottom part of the page holds the execution details of the job. Expand the steps to view the input and output data.

f5ddcd86-d489-449a-833c-e47228e4c978.png

To view job details, simply click on the job you are interested in seeing. This brings you into the job details screen, where the sequence of actions carried out by the job is listed in detail.

From the job details screen, you can view detailed information about each job as well as step-level information. This is useful in several ways:

  • Debugging your Recipe

During testing, jobs may show up as completed in the jobs report, but they might not be processed in the manner you expect - taking a look at the exact steps processed by the Recipe will help in ensuring the Recipe is processing jobs in the expected manner.

  • Troubleshooting your job errors

If jobs fail, you can take a look at the run-time data to understand why the job failed at a specific step.

Job status

Jobs can have the following statuses:

Status

Description

Completed

This indicates that the job was processed successfully.

Failed

This indicates that the job ended because of an error. Errors can generally be attributed to failures in executing actions. e.g. an app was not reachable, or a contact being added already exists, etc.

When an error is encountered, job execution stops i.e. downstream steps are not executed. Such jobs may create incomplete records in your apps as it failed before finishing all steps.

Processing

This indicates that the job is still being processed.

Paused

Paused jobs indicate that the job containing long actions was paused when the Recipe was stopped

Aborted

This is a rare state that a job can get into if it has pending jobs and the Recipe has been affected in a manner that these pending jobs cannot finish processing.

Paused jobs

Recipes containing long actions may run for a while, upto minutes and hours, depending on the Recipe. When a user stops a Recipe, the jobs that are in the processing state are paused. Paused jobs resume when the Recipe is restarted.

665a050b-b4b8-44d3-afb1-c18ba6c780f5.png

If the Recipe is edited and saved, the Recipe will be on a new version. The paused jobs are resumed with the same Recipe version with which it was first started.

In this example, the job started with Recipe version 1. It will resume and complete after recipe modifications and restart with the Recipe version 1 with which it was started.

f3abce69-0276-43b8-985e-2af97231ee2b.png

After Recipe restart, new jobs are executed using the new version of the Recipe. In this example, the new job has started with Recipe version 3.New jobs

Errors

If your job encounters an error and stops processing before it should, the job details page will indicate the failed step. Expand it to view the details.

0aa6565d-8e51-4110-a9c9-bdc5933a6cae.png

Conditional step

When conditional actions are expanded, there is a single "Output" tab. This shows whether the condition evaluated to true or false. If true, the nested actions take place. If false, the nested actions do not take place, and the Recipe proceeds to the next possible action.

In the following example, we see that the conditional action in step 7 was evaluated as false. In this case, step 6 was not carried out as Condition was not met.

6295f894-6c27-4406-bd07-b548ea4c3e34.png

Repeat step

Repeat steps will not display steps made during all iterations. For example, if your foreach step processed a list with 10 items, only the last (tenth) item will show up in the job details page.

Similarly, when an error occurs within a repeat step, the job details will show only the steps carried out in that particular iteration, and not any other iteration before that.

Rerun jobs

Any job (completed, failed, etc.) can be rerun. AppConnect stores the data of the trigger event, and reruns jobs using this copy of the trigger event.

Rerun of a job will always use the latest version of the Recipe. i.e. if the Recipe has been modified since the job ran, rerun will use the most recent version.

Timeouts

If a job or a single step is taking too long to execute, it will time out. The current limit is 90 seconds for a single step, and 90 minutes for a single job. The error message for a job that times out will explicitly mention the reason.

In these cases, you might have to further optimize your Recipe to ensure that they don't hit this time limit.

 

Rerunning jobs

AppConnect allows for jobs to be rerun. In such cases, the trigger event will run through the sequence of actions in the Recipe again. This feature is useful when:

  • You've edited the Recipe and want to test it

  • An error occured in a job, you've fixed the Recipe/data and wish to rerun the job

Note: When jobs are rerun, the trigger event runs through the entire Recipe. Duplication may occur, so be sure to check and remove duplicates (if present) before re-running the job.

To rerun jobs from the jobs report page, check the jobs to rerun and click on Repeat.

286eaf75-e55c-4348-9190-bba0d7f6037d.png

You can also rerun jobs from the job details page. Simply click on Repeat job.

87f4d73f-9c89-498a-b813-7f834ed36ea6.png

Job reruns are in-place - meaning that the position of the job will not change within the jobs report. A job which was first processed in August and reran in September will retain its position amongst the other jobs processed in August.

Cached trigger data in job reruns

All job reruns use cached data. This means that the original trigger event's data is reused for the rerun, and any changes made to the trigger event in the trigger app will not be picked up by a job rerun. This means that there are scenarios whereby a job rerun will not resolve your issues:

When the failed job is due to data issues in the trigger

The Recipe will return a failed job if it is processing the same faulty data from the trigger app, regardless of the number of reruns.

 

 

Cancel job

AppConnect lets users cancel a running job. Running (or pending) status means the job is currently executing the actions defined in the Recipe.

Oftentimes developers and operators may need to cancel a job in the processing status when:

  • there’s a bug in the Recipe

  • a data issue

  • wrong application sandbox is used

  • the Recipe may take a few minutes to an hour or more to complete

Recipes that execute bulk actions take minutes to hours to complete depending on the size of the data. Some examples are:

  • Create/Update/Upsert records in bulk from CSV file in the Insightly connector

  • Add/Create in bulk in the NetSuite connector

  • Bulk import leads from file in the Marketo connector

  • Wait action in the Scheduler connector

You can cancel a job from the job details page. Simply click on the Cancel job button.

d8ad1944-0c7f-4235-877b-0359b028c1fc.png

Before the job cancellation is complete, the job status will show as Canceling. The job status will be updated to Canceled once the cancellation is complete. The Reason for cancel in the job details page is updated to Job canceled by user.

703577fe-3ffd-4495-af52-13923f1a7747.png

 

 

 

Callable Recipes

Canceling a parent Recipe job generally will not cancel the callable Recipe. If the callable Recipe is called in an asynchronous mode then the called Recipe job will run independently to completion.

Was this article helpful?