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.
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.
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.
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.
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.
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.
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.
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.
You can also rerun jobs from the job details page. Simply click on Repeat job.
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.
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.
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.